2014-04-12 22 views
0

我无法使用AJAX提交表单,问题存在时,我只在包含textarea的时候,当我删除它时,表单提交正确。使用AJAX提交一个包含textarea的表格

$(document).ready(function() { 
    $('form').submit(function(event) { 
     var formData = { 
      'name'    : $('input[name=name]').val(), 
      'cont'   : $('input[name=cont]').val(), 
      'date' : $('input[name=date]').val(), 
      'prix'    : $('input[name=prix]').val(), 
      'timestart'    : $('input[name=timestart]').val(), 
      'nbm' : $('input[name=nbm]').val()    
     }; 
     $.ajax({ 
      type  : 'POST', 
      url   : 'zzz.php', 
      data  : formData, 
      dataType : 'json' 
     }) ........ 
+0

那里的东西叫[$('form').serialize()](https://api.jquery.com/serialize/) – adeneo

+0

@adeneo我该如何在这里使用它。在我的例子中。 – user3504605

+0

哪一个是文字区域?你也可以发布html表单吗? – Will

回答

1

如果我把它从你的commenttextareaname="cont"属性:

<textarea name="cont" placeholder="your msg"></textarea> 

但要获得参考这个textarea元素使用的是input[name=cont]选择与name="cont"选择任何input元素属性而不是textarea元素。

要选择textarea你应该使用:

$('textarea[name=cont]') 
+0

谢谢你的帮助, – user3504605

0

请用突出部分的一行代码

$("#formid").serialize(); 

,而不是

 

    var formData = {`enter code here` 
       'name'    : $('input[name=name]').val(), 
       'cont'   : $('input[name=cont]').val(), 
       'date' : $('input[name=date]').val(), 
       'prix'    : $('input[name=prix]').val(), 
       'timestart'    : $('input[name=timestart]').val(), 
       'nbm' : $('input[name=nbm]').val()    
      }; 

,然后尝试提交