序列化表单不起作用,我找不到错误...... :(

时间:2013-12-01 03:04:41

标签: jquery ajax forms serialization

他在那里,

我有这个jQuery代码:

$('body').on('change','form#item-form', function(e){
    e.preventDefault();
    var data = $(this).serialize();
    console.log( data );
});

和表格(通过查询插入)。

<form id="item-form" class="input-item-view">
    <label>ID</label><input id="1" value="' + jsData[i].id + '" /><br>
    <label>Autor</label><input id="2" value="' + jsData[i].Autor + '" /><br>
    <label>Jahr</label><input id="3" value="' + jsData[i].Jahr + '" /><br>
    <label>Titel</label><input id="4" value="' + jsData[i].Titel + '" /><br>
    <label>Kostenstelle</label><input id="5" value="' + jsData[i].Kostenstelle + '" /><br>
    <label>Standort</label><input id="6" value="' + jsData[i].Standort + '" />
</form>

我想序列化表单数据,就是这样。但这不起作用。控制台不显示任何内容(空值......因此它会做出反应,但不会更多)。

任何提示?

1 个答案:

答案 0 :(得分:1)

您在表单元素中缺少name属性。

name属性必须在Form元素中。

fiddle Demo

<小时/> 将name属性添加到您的HTML。

<form id="item-form" class="input-item-view">
    <label>ID</label>
    <input id="1" value="' + jsData[i].id + '" name="ID">
    <br>
    <label>Autor</label>
    <input id="2" value="' + jsData[i].Autor + '" name="Autor">
    <br>
    <label>Jahr</label>
    <input id="3" value="' + jsData[i].Jahr + '" name="Jahr">
    <br>
    <label>Titel</label>
    <input id="4" value="' + jsData[i].Titel + '" name="Titel">
    <br>
    <label>Kostenstelle</label>
    <input id="5" value="' + jsData[i].Kostenstelle + '" name="Kostenstelle">
    <br>
    <label>Standort</label>
    <input id="6" value="' + jsData[i].Standort + '" name="Standort">
</form>

阅读formname