2015-04-29 1 views
0

У меня есть форма с полями ввода, которые будут запускаться каждые 1 мин для обновления записей пользователя на сервере.Jquery serialize не отправляет поля ввода

$(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> 

Так Аякс звонит сервер отлично работает на каждую 1 мин .Но введенные значения не доступны на стороне сервера.

Я получаю значение как listBean.Item.getInitialWeight().

что я делаю неправильно?

Любые предложения welcome.Thanks за ваше время ..

ответ

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

должен стать

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

Вы ссылающийся на тот товар DOM

+2

Или - более конкретно - добавить 'id' атрибут к вашему' form' (если у вас есть несколько форм на странице). –

+0

Да, это всегда должно быть хорошей идеей –

+0

@ RaphaelMüller Спасибо за ваш ответ. В реальном сценарии он уже имеет идентификатор, прикрепленный к полям формы и ввода. Но я пропустил пример кода. – jaggs

0

JQuery будет рассматривать

$('#form') 

как «элемент с идентификационной формой». Поэтому вам следует изменить ссылку на JQuery DOM.

В вашем случае это может быть

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

 Смежные вопросы

  • Нет связанных вопросов^_^