我有一個帶有窗體的html頁面。在這種形式下,我有1個輸入字段可供用戶使用,其類型設置爲file
。表單通常是隱藏的。使用Javascript生成的html代碼在Internet Explorer中的問題
當用戶按下一個調用jQuery.dialog()
函數的按鈕時,將顯示該窗體。對話框get創建得很好,但輸入字段從不顯示。我無法確定它是否顯示出來,或只是放在屏幕之外。
同樣的情況發生在javascript自動生成的表格中。該表由多個輸入元素(儘管不同類型)和每行1個選擇元素組成。現在select元素正確顯示,所有的輸入元素都沒有。
這是Internet Explorer的問題嗎?因爲所有其他(主要)瀏覽器都顯示它很好。主流瀏覽器,我的意思是Chrome,FF,Safari & Opera。
編輯>來源
在頁面形式:
<form title="Upload snapshot" class="hidden" enctype="multipart/form-data" id="fileUpload" name="fileUpload">
<input type="hidden" name="command" value="load" />
<input type="hidden" name="table" id="formTable" />
<input type="file" id="uploadedFile" name="uploadedFile" />
</form>
,輪流形式進入對話的功能:
function LoadDatabase(){
var form = document.getElementById('fileUpload');
var table = document.getElementById('formTable');
$(table).attr('value', Settings['table']);
$(form).dialog({
position : 'center',
autoOpen : true,
width : 500,
modal : true,
draggable : true,
buttons : {
"Ok" : function(){
// Code to hande the file upload...
$(form).dialog('close');
},
"Cancel" : function(){
$(form).dialog('close');
}
},
close : function(){
}
});
}
由於的複雜性表中,生成表的代碼是相當多的。基本上,js得到了json格式的條目集合。這個集合被解碼,併爲每種類型的列創建一個適當的單元格並添加到頁面的文檔中。所有這一切的核心位是:
var tbodyNew = document.createElement('tbody');
$(data.Data).each(function(value) {
row=this;
var trRowNew = document.createElement('tr');
$(trRowNew).attr('id', row['id']);
var tdNew = document.createElement('td');
var rowSelect = document.createElement('input');
$(rowSelect).attr('type', 'checkbox');
$(rowSelect).addClass('row-selector');
$(rowSelect).addClass('hidden');
$(tdNew).append(rowSelect);
$(trRowNew).append(tdNew);
for (var columnId in Columns) {
tdNew = document.createElement('td');
if (Columns[columnId].Name == 'id') {
$(tdNew).addClass('hidden');
}
$(tdNew).attr('id', Columns[columnId].Name);
$(tdNew).append(AddCell(columnId, row));
$(trRowNew).append(tdNew);
}
$(tbodyNew).append(trRowNew);
});
$(tableNew).append(tbodyNew);
$(form).html('');
$(form).append(tableNew);
的AddCell()
方法確定應該用於輸入(複選框,文本等)的類型。
編輯2>附加圖片
爲了進一步解釋所發生的事情:
的圖像顯示在背景的表呈現的不同的方式,以及顯示在對話框前景。
編輯3> DOM檢查
我檢查DOM結構在Internet Explorer中,我已經看到了元件置於頁面...他們只是沒有渲染。看來他們沒有得到一個合適的高度&寬度。雖然檢查自己的風格,這表明這些屬性都設置爲「自動」:
請將您的HTML和JS代碼發佈給我們看。以目前的形式回答你的問題是不可能的。 – vzwick
請檢查您的html和JS代碼一些錯誤不會被Firefox識別,但IE會識別並停止加載剩餘的腳本。可能會出現一些HTML和JS代碼的問題。 – Unknown
有沒有什麼工具可以做到這一點? – ThaMe90