2010-09-21 47 views
2

我需要幫助才能提交的RSVP與這樣的單選按鈕:AJAX單選按鈕使用jQuery

Attending: <input type="radio" /> 
Maybe Attending: <input type="radio" /> 
Not Attending: <input type="radio" /> 

每當有人回覆活動的情況下,它應該比輸入到所選擇的(所以只是一個單選按鈕只能選擇),所以當選擇一個選項時,它應該使用$.ajax函數執行AJAX請求。

我這樣做:

Attending: <input type="radio" onclick="rsvpEvent(3, 1);" /> 
Maybe Attending: <input type="radio" onclick="rsvpEvent(2, 1);" /> 
Not Attending: <input type="radio" onclick="rsvpEvent(1, 1);" /> 

使用jQuery:

function rsvpEvent(rsvp, id) 
{ 
    $.ajax({ 
     type: "GET", 
     url: "http://localhost:8888/update/test.php", 
     data: "rsvp=" + rsvp + "id=" + id, 
     success: function() 
     { 
     alert('rsvp: ' + rsvp + ' id: ' + id); 
     }, 
     error: function() 
     { 
     alert('rsvp: ' + rsvp + ' id: ' + id); 
     } 
    }); 
} 

這並不在所有的工作......這是什麼問題?

回答

7

有幾件事情我會改變

  • 我想使它成爲一個實際的形式,而不是僅僅單選按鈕,從而使他人不啓用Javascript仍然可以參加你們的精彩派對。
  • 使單選按鈕都具有相同name='whatever',這樣如果你使用,你可以使用serialize()從jQuery的形式來與您的數據(目前你會發送修正這個錯誤,你只能選擇在同一時間
  • 一個rsvp = 3id = 1,我懷疑你的函數期望)。
+1

',從而使他人不啓用Javascript仍然可以參加你們的精彩parties.' - 有史以來最好的報價;) – MacMac 2010-09-22 00:11:32

0

首先,我認爲它應該是一個post事件,而不是一個get,並且當方法後面的代碼需要兩個參數時,您發送的數據是單個字符串。

 function GetDate() { 
      $.ajax({ 
       type: "POST", 
       url: "default.aspx/GetDate", 
       data: "{myParam:'" + document.getElementById("txtParam").value + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(msg) { 
        $.each(msg, function(i, item) { 
         $("#dialog").fadeOut("fast", function() { 
          $("#dialog").html(item); 
          $("#dialog").fadeIn(300); 
         }); 

        }); 
       } 
      }); 
     } 
+0

我知道我的樣本是對於.NET,但剩下的就是相關 – griegs 2010-09-21 23:25:52

2

您的具體問題是URL的值,它應該是唯一的:

url: "update/test.php", 

Ajax請求的第三方網站通常是不可能的,因爲安全限制,所以你不能使用HTTP :// on url value。

在數據別忘& ID之前

+ 「&id=」 + id