Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 serialize和serializeArray不适用于google chrome_Jquery_Html_Ajax - Fatal编程技术网

Jquery serialize和serializeArray不适用于google chrome

Jquery serialize和serializeArray不适用于google chrome,jquery,html,ajax,Jquery,Html,Ajax,我有下面的html <fieldset id="fieldset-step_3"> <input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]"> <select class="w50" id="rule_form-operator" name="rule_form[operator]"> <o

我有下面的html

<fieldset id="fieldset-step_3">   
       <input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]"> 
       <select class="w50" id="rule_form-operator" name="rule_form[operator]">
            <option label="&lt;" value="&lt;">&lt;</option>
            <option selected="selected" label="&gt;" value="&gt;">&gt;</option>
       </select>
       <button type="button" id="next" name="next">Next</button>
</fieldset>
这段代码适用于Firefox8和Opera11.60测试版。但它不适用于谷歌Chrome15.0.874.121


请帮帮我。给我另一个从jquery获取字段集值的想法

这是一个非常简单的方法,但是可以完成这项工作,并且您可以按照自己的方式自定义它

parseField = function( $object ){
  result = new Array();
  $object.find('select[value!=""], input[value!=""]').each(function(){
    var obj = {};
    obj.key = $(this).attr('name');
    obj.val = $(this).val();
    result.push( obj );
  });
  return result;
}
您可以像这样使用它:

var values = parseField( $('#fieldset-step_3') );
$.each(values, function(i,obj){
  alert( 'My key is: ' + obj.key + ' and my value: ' + obj.val );
});

你似乎发现了一个bug。我在Chrome11上试过,看到了同样的东西。如果我序列化表单,它就会工作。如果我序列化单个表单元素,它就会工作。如果我试图序列化一个包含所有表单元素的div,或者您的fieldset标记,它不会序列化。

mmm请尝试添加

<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]" />
我今天碰到了这个。 $('#formid')。序列化();在firefox上运行良好,但在chrome上没有任何功能。 经过一些测试,以下是我的答案:


在chrome中,表单名称和id必须相同才能使序列化工作。

您是否尝试使用表单?验证您的HTML?验证您的JavaScript-@Ricardo Arruda-是的,我使用了它。它也有同样的结果。@kanishka-不,我只想要firfox和chrome。@Asuraya你试过我说的了吗。是警报(值);在chrome上工作???这个问题让我有些挠头。它最终在表单标签上丢失了enctype=“x-www-urlencoded”,这显然是Chrome需要看到的。Firefox和其他浏览器没有问题。
<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]" />
<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]">
end tag for "input" omitted, but OMITTAG NO was specified

…ut type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]"> 


You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".