Jquery 序列化不发送输入字段

Jquery serialize does not send input fields

我有一个带有输入字段的表单,每 1 分钟触发一次,以将用户条目更新到服务器。

$(document).ready(function()
{
    timer = setInterval(function() { save(); }, 60000); 
});

function save() {
    jQuery('form').each(function() {
        jQuery.ajax({
            url: "http://localhost:7002/submitStudent.do?requestType=auto&autosave=true",
            data: $('#form').serialize(),
            type: 'POST',
            success: function(data){
                if(data && data == 'success') {
                    alert("data saved");
                }else{

                }
            }
        }); 
    }); 
}

这是我的表格

<form name="listBean"> 
    <c:forEach var="Item" items="${listBean.nameList}" varStatus="status">
        <input type="number"name="nameList<c:outvalue='[${status.index}]'/>.initialWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
            <br><br>
        <input type="number" name="nameList<c:out value='[${status.index}]'/>.finalWeight" onchange="checkOnChange(this,'<c:out value='${Item.personId}'/>','<c:out value='${Item.minWeight}'/>','<c:out value='${Item.maxWeight}'/>','<c:out value='[${status.index}]'/>')">
            <br><br>
        <input type="text" class="formtext" name="nameList<c:out value='[${status.index}]'/>.Reason" id ="reason<c:out value='[${status.index}]'/>" value="" maxlength="255" >
            <br><br>
            <input type="submit" value="submit" id="submit" />

     </c:forEach>
</form>

因此,对服务器的 ajax 调用每 1 分钟工作正常。但是输入的值在服务器端不可用。

我得到的值是 listBean.Item.getInitialWeight()。

我做错了什么?

任何建议都welcome.Thanks适合您的时间..

data: $('#form').serialize(),

应该变成

data: $('form').serialize(),

您引用了错误的 DOM 项目

jQuery 会治疗你的

$('#form')

为"an element with id form"。所以你应该改变你的 jQuery DOM 参考。

你的情况可以是

$('form[name="listBean"]').serialize()