他在那里,
我有这个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>
我想序列化表单数据,就是这样。但这不起作用。控制台不显示任何内容(空值......因此它会做出反应,但不会更多)。
任何提示?
答案 0 :(得分:1)
您在表单元素中缺少name
属性。
name
属性必须在Form元素中。
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>