Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery代码-IE8问题_Jquery - Fatal编程技术网

jQuery代码-IE8问题

jQuery代码-IE8问题,jquery,Jquery,我有这段代码,可以更改输入字段名称属性值,在除IE8、IE7和IE6之外的所有主流浏览器中都能很好地工作。对于IE,名称应保持为name=“participant\u name[{i}]”,应为name=“participant\u name[1]” HTML 使用。更换 下面是一个快速小提琴示例: 事实上,它也在正确地更改IE中的属性name。但是,我认为您可能遇到的问题是,当您提交表单时,它不是更新的字段name IE没有考虑到名称的更改,因此,在发送表单时,表单仍然使用与创建表单时相同的

我有这段代码,可以更改输入字段名称属性值,在除IE8、IE7和IE6之外的所有主流浏览器中都能很好地工作。对于IE,名称应保持为
name=“participant\u name[{i}]”
,应为
name=“participant\u name[1]”

HTML


使用。更换

下面是一个快速小提琴示例:
事实上,它也在正确地更改IE中的属性
name
。但是,我认为您可能遇到的问题是,当您提交表单时,它不是更新的字段
name

IE没有考虑到
名称
的更改,因此,在发送表单时,表单仍然使用与创建表单时相同的
名称
。要解决此问题,可以在更改name属性时将其重新添加到DOM或表单/元素中


您可以在那里测试它,属性确实会更改,或者如果您在IE中检查DOM。

如果这不是项目中唯一需要在客户端上进行此类替换的地方,那么可能值得查看模板库,例如

我有点困惑,我的脚本没有更改name属性,但是在您提供的链接中,一切都正常。但我还不明白如何解决这个问题(@elvis你怎么知道你的也没有改变它?意外结果到底出现在哪里?事实上你说的很有道理,可能这不是我问题的原因。我正在使用动态表单字段和relcopy和验证插件。我在IE中遇到以下js错误-“'form'为null或不是对象”在jquery.validate.js中,由于我有多个表单,并且一些表单在IE中工作时没有错误,我注意到使用属性[{I}]作为名称的表单不工作。因此我假设问题就在那里。现在我有点卡住了:(.Parhaps问题只是在验证插件中,它显示错误的行看起来像-var meta=$.data(element.form,'validator')).settings.meta;@elvis在这一点上,我们很难就您提供给我们的代码/信息量向您提供更多建议。但是,如果这纯粹是IE问题,我给出的解释很可能就是它无法正常工作的原因。好吧,但我不理解您的修复:(引用要解决此问题,您可以在更改name属性时将其重新添加到DOM表单/元素中
var i = 1;
var input_name = null;
$('.dubl input').each(function () {
   var new_input_name = $(this).attr('name').substring(0, $(this).attr('name').indexOf('['));
   if (input_name !== new_input_name) {
       input_name = new_input_name;
       i = 1;
   }
   $(this).attr('name', input_name + '[' + i + ']');
   i++;
});
<input type="text" name="participant_name[{i}]">