2014-04-12 24 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()    
      }; 

,然後嘗試提交