jquery设置隐藏的输入值在IE7和IE8中未按预期工作
jquery setting hidden input value not working as expected in IE7 and IE8
继续采用我的代码与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中,我遇到了一个奇怪的问题。 我可以看到edit_item
函数中正确设置了item_id
,但是一旦该函数完成,隐藏的输入值(qid
(就会重置为空字符串。 当表单是 ajax 提交的时,警报显示值为空字符串,尽管它设置正确。 有趣的是,所有其他字段都很好。 它在IE 9中可以正常工作。
我在这里错过了什么? 提前非常感谢。
这是完全愚蠢的,但是不应该是这样:
$('#field1').val(item.property1);
没有用。 还
$('#field1').attr("value", item.property1);
工作正常。 我就不说了。
在纯 JavaScript 中没有 JQuery 的 IE 解决方案看起来并不太复杂:
document.getElementById(id).setAttribute('value', value);
除了Aleks G的回答之外,我发现value
属性不能在隐藏元素中隐式定义,以便jQuery .setAttr()
并且.val()
IE8中正常工作。
有关更多详细信息,请参阅此处:jQuery .val(( setter 不起作用?
我知道
我迟到了,但我使用以下解决方法,因为在尝试所有解决方案后它对我不起作用
var id=$(this).data('id');
$('#update_entery_div').append(
"<input type='hidden' name='id' value="+id+" >"
);
相关文章:
- IE8更改文本区域上的事件侦听器不工作
- window.onbeforeunload在IE8中不触发(在Firefox,Chrome和Safari中工作正常)
- $('body').on('blur')在IE8中工作不好
- window.location重定向没有'我不在IE8上工作
- addEventListener没有'不能在IE中工作(在IE8中测试)
- Requirejs和主干应用程序,不能在IE8中工作
- 无法在 IE 9 中传递此运算符的值,而它在 IE7 和 IE8 中工作正常
- Request.UrlReferrer在IE8中无法正常工作,并且工作正常IE9
- 不触发 OnClick 事件 IE8,但在 Firefox 中工作正常
- 如何优化我的jQuery以始终在IE8中工作,目前它被击中和错过
- 获取尾随逗号(在JavaScript中)在IE7 / IE8中工作
- FormData ajax 上传 IE8 -> 替代品及其工作原理
- jquery设置隐藏的输入值在IE7和IE8中未按预期工作
- 代码不'我不在IE8工作
- IE7中没有填充mootools中的动态下拉列表.IE8工作良好
- 梅森不在IE8工作
- Youtube iframe API调用以播放视频/pauseVideo don'我不在IE8工作
- 映射/设置与ie8工作的实现
- window.attachEvent没有'我似乎在IE8工作
- Fancybox Overlay Helper'我不在IE8工作