2010-07-08 29 views
0

我的HTML表單:jQuery的獲得不及格值

<input id="captcha_response" name="captcha_response" type="text" value="" size="5" maxlength="5">  
<div class="new_comment"><input id="comment" name="comment" type="text" value="your comment here..."></div> 
    <div class="author"><input name="name" type="text" value="your name"></div> 
    <div class="email"><input name="email" type="text" value="email"></div> 

我的jQuery:

$.ajax({ 
    type: "GET", 
    url: "ajax/check_captcha.php", 
    data: ({ captcha : captcha , comment:comment , name:name, email:email }), dataType: "json", success: function(data) 
    { 

這在螢火返回一個 '沒有足夠的參數' 的錯誤。

它正在處理只是'captcha'值被傳遞,但不再。

電子郵件似乎是沒有被傳遞的價​​值。

+0

你錯過了一些你的代碼嗎?它不可能以{ – 2010-07-08 02:47:05

+0

]結束不,我知道該功能起作用。我只是添加更多的數據。本來它只是驗證碼:驗證碼 – ian 2010-07-08 02:48:12

+0

第二個「驗證碼」是一個變量? – Polaris878 2010-07-08 02:49:08

回答

0

你說他們是表單名稱?然而,你有沒有把它們定義爲變量。由於您沒有顯示腳本的其餘部分,因此無法分辨。

data: { 
    captcha : $("input[name='captca_response']").val(), 
    comment : $("input[name='comment']").val(), 
    name : $("input[name='name']").val(), 
    email: $("input[name='email']").val() 
} 

嘗試類似的東西,以便實際返回輸入的值。

2

嘗試刪除兩個()中的數據,就這樣

data: { captcha : captcha , comment:comment , name:name, email:email }, 

如果您的HTML輸入是在<form>標籤,它會更容易使用.serialize(),讓jQuery的獲取所有數據,。 ..

這樣

data: $('#fomID').serialize(), 
// this will build something like 
// "captcha=captchaData&comment=newComment&name=name&[email protected]" 
+0

至少給我的FireBug錯誤:電子郵件未定義。 – ian 2010-07-08 03:08:48

+0

如果是這樣的話,你可能沒有定義電子郵件變量? – Reigel 2010-07-08 04:17:45

+0

請參閱編輯... – Reigel 2010-07-08 05:05:12