2013-12-14 5 views
0

Как выполнить сериализацию с элементом, полученным классом, а не идентификатором? мои данные var становятся пустой строкой. Благодарю.Как сделать сериализацию класса формы, а не id работать?

AddDsr: function() { 
      var data = $('DsrEditForm[0]').serialize(); 
      alert(data); 

      $.ajax({ 
      type: "POST", 
      url: 'ValidateEditDsr.php/ValidateEditDsr', 
      datatype: 'text', 
      data: ({formData: data}), 
      success: function(answer) { 
       alert(answer); 
       console.log(answer); 
      }, 
      error: function(answer) { 
       console.log(answer); 
      } 
       }); 
     } 

Update: В ответ на комментарий, вот что DsrEditForm является:

CreateNewDsrForm: function() { 
    var f = document.createElement("form"); 
    f.className = 'DsrEditForm'; 
    f.name = 'DsrEditForm'; 
    document.getElementById('DsrEditContainer').appendChild(f); 
+0

что такое 'DsrEditForm [0]' –

+0

Там я обновил свой ответ. –

ответ

1

Поскольку DsrEditForm является пользователем имя класса class selector

var data = $('.DsrEditForm').serialize(); 
+0

Хотя это работает, не будет ли у меня проблемы, когда у меня будет несколько экземпляров DsrEditForm? –

+1

@ MickaelBergeronNéron, то тогда вы должны решить, какой из них должен быть представлен ... он должен быть логическим, исходя из ваших бизнес-требований ... –

+0

Как? Если $ ('. DsrEditForm') относится ко всему экземпляру этого класса, а $ ('. DsrEditForm') [i] не будет работать, как я могу отправить конкретный экземпляр $ ('. DsrEditForm')? –

0

Возможное решение:

$.post("ValidateEditDsr.php/ValidateEditDsr", $('DsrEditForm[0]').serialize()) 
.done(function(answer){ 
    console.log(answer); 
}) 
.fail(function(answer){ 
    console.log(answer); 
}); 
Смежные вопросы