jquery serializeArray 在 Safari 中不起作用



我正试图使用JQuery的serializeArray方法从一个简单的表单中创建一个对象数组(从表单中获取数据并缓存以供稍后使用):

<fieldset class="myFieldset">
    <div id="divContainer">         
        <div class="anotherdiv">
            <input type="text" name="testBox1" class="aclass" />
            <select name="testSel1" class="atestclass">
                <option value="car">car</option>
                    <option value="boat">boat</option>
                    <option value="plane">plane</option>
                </select>
            </input>
         </div>
     </div>
 </fieldset>
 <fieldset class="submit-wrap">
        <input type="submit" name="enter" id="enter" value="Enter" >
 </fieldset>

我正在调用serializeArray点击:

$('#enter').click(function(){       
    var testForm = jQuery('.myFieldset').serializeArray();
    alert(testForm);
});   

这个镀铬效果很好(http://jsfiddle.net/pCELZ/),但在Safari中没有。有什么想法吗?

//我的表单元素没有被禁用,并且我包括"name"属性。尝试了各种html。。。//提前谢谢。

而不是使用fieldset使用form:

<form class="myFieldset">
  <div id="divContainer">         
    <div class="anotherdiv">
        <input type="text" name="testBox1" class="aclass" />
        <select name="testSel1" class="atestclass">
            <option value="car">car</option>
                <option value="boat">boat</option>
                <option value="plane">plane</option>
            </select>
        </input>
     </div>
   </div>
 </form>

并在此测试:fiddle

Jai是正确的。另一种方法是通过更改选择器来指定元素。

$('#enter').click(function(){       
    var testForm = jQuery('.myFieldset :input').serializeArray();
    console.log(testForm);
});

工作小提琴这里

相关内容

  • 没有找到相关文章

最新更新