我在jQuery和javascript中有以下函数来创建表单元素:
createEmail: function(title){
var $emailForm = $('<form>',{action: 'sendEmail.php', id: 'emailForm'});
var $table = $('<table>');
$emailForm.append($table);
var $tr = $('<tr>');
$tr.append($('<td>',{text: 'Email From:'}));
$tr.append($('<td>',{html: '<input type="text" value="" name="from"/>'}));
$table.append($tr);
$tr = $('<tr>');
$tr.append($('<td>',{text: 'Email To:'}));
$tr.append($('<td>',{html: '<input type="text" value="" name="to"/>'}));
$table.append($tr);
$tr = $('<tr>');
$tr.append($('<td>',{text: 'Message Body:'}));
$tr.append($('<textArea>',{name: 'msg', cols: 50, rows: 10,
text: 'Attached is the ' +title+ ' license key file.\nPlease place the file in the same directory as the "check_license.php" file for ' +title+ ' '}));
$table.append($tr);
$tr.append('<input type="hidden" value="'+title+'" name="title"/>');
var $div = $('<div>').append($emailForm).dialog({
title: 'Email ' + title + ' File',
width: 600,
modal: true,
buttons: {
cancel: function(){
$(this).dialog('close');
},
send: function(){
$.post($emailForm.attr('action'), $emailForm.serialize(),function(data){
alert(data);
$div.dialog('close');
})
}
},
beforeClose: function(){
$(this).remove();
}
});
$div.dialog('widget').css('margin','0 auto');
}
由于某种原因,在IE中文本区域没有显示,当您单击它时对话框如下所示:
但是在chrome和FF中看起来很正常:
为什么会这样?文本区域仍然被提交到我的PHP,好像它有一些东西(当我在IE8中使用开发工具时,它说它有内容)
那么为什么在IE中它不显示可编辑的textarea?
...谢谢
答案 0 :(得分:4)
如果我正确阅读,看起来你正在将你的textarea附加到行而不是单元格。
答案 1 :(得分:0)
也许IE无法识别<textArea>
,请尝试<textarea>
。