【问题标题】:jQuery serialize not workingjQuery序列化不起作用
【发布时间】:2012-01-31 04:58:22
【问题描述】:

我正在涉足表单序列化,但令人惊讶的是它没有序列化表单。代码如下:

<div id="content">
</div>
<form  id= "myform">
    <input type="text" id="inp"value="mytext">
    <input type="button" id="btn" value="serialize"/>
</form>

这是我正在使用的 jQuery 代码:

$("form").submit(function(e){
    e.preventDefault();
    var v= $(this).serialize();
    console.log(v);
});

这里是fiddle

【问题讨论】:

    标签: jquery


    【解决方案1】:

    您的input 字段需要name 属性。否则它们会被 jQuery 的 .serialize() 忽略。

    这里引用from the docs:

    注意:只有“成功的控件”被序列化为字符串。由于未使用按钮提交表单,因此未序列化提交按钮值。 要使表单元素的值包含在序列化字符串中,该元素必须具有名称属性。复选框和单选按钮(“radio”或“checkbox”类型的输入)的值仅在它们被选中时才包含在内。来自文件选择元素的数据未序列化。

    这是你的名字属性:http://jsfiddle.net/6fgUg/28/

    【讨论】:

      【解决方案2】:

      您必须为输入的 HTML 元素命名,例如:

      <form id="myform"> 
          <input type="text" id="inp" name="inp" value="mytext">
          <input type="button" id="btn" name="btn" value="serialize"/>
      </form>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-11
        • 2012-07-11
        • 1970-01-01
        • 1970-01-01
        • 2020-10-16
        • 2012-09-18
        • 1970-01-01
        • 2013-01-23
        相关资源
        最近更新 更多