继续采用我的代码与 IE 一起工作...
我有一个隐藏div
的包含一个表单来编辑一些信息。当用户选择要编辑的项目时,会显示此 div,并使用项目的信息填充字段。divs(简而言之)看起来像这样:
<div id="editform">
<form action="" method="post" id="qform" name="qform">
First param: <input name="field1" id="field1"/> <br/>
Second param: <input name="field2" id="field2"/> <br/>
...
<input type="hidden" name="qid" id="qid" value=""/>
<img id="submit" src="..." alt="..." title="..." />
</form>
我使用 jquery 将值设置到字段中。我打开编辑 div 的功能如下所示:
function edit_item(item_id) {
item = get_item(item_id); //this will return a JS object
$('#field1').val(item.property1);
$('#field2').val(item.property2);
...
$('#qid').val(item_id);
$('#submit').click(function() {
alert($('#qid').val());
$('#qform').ajaxSubmit();
});
}
所有这些在 FF、Opera、Webkit 和 IE 9 中都可以正常工作,但是在 IE7 和 IE8 中,我遇到了一个奇怪的问题。我可以看到函数item_id
中的设置正确edit_item
,但是一旦该函数完成,隐藏的输入值 ( qid
) 就会重置为空字符串。当表单被 ajax 提交时,尽管设置正确,但警报显示该值是一个空字符串。有趣的是,所有其他领域都很好。它在 IE 9 中可以正常工作。
我在这里想念什么?提前谢谢了。