2015-07-02 73 views
3

我一直在學習ajax,通過在線教程和通過一些stakoverflow帖子閱讀時遇到困難。ajax在發送表單數據時顯示不正確的結果

但是我有一個很奇怪的問題(對於一個更有經驗的用戶來說也許並不奇怪),我只是不知道。我會永遠感謝任何能夠在這裏協助我的人。

Im做以下操作:基於比賽,輪數和sport_type

SportType(填充)的比賽結果讓用戶搜索 - >錦標賽(填充) - >圓形

當用戶點擊提交基於選擇上述

實施例被顯示在結果

enter image description here

我的問題

當我運行下面一個乾淨的網頁上的腳本與它完全沒有其它數據。但是,當我將此代碼添加到我的現有頁面之一時,會發生以下情況:

當我單擊提交時,它就像發送給網頁上包含的所有其他表單,這裏是我的意思。

  • 用戶點擊運動類型:GOOD enter image description here

  • 用戶點擊roundNr:GOODenter image description here

  • 用戶點擊提交問題

GET請求獲得以下所有發送:和完全錯誤的網頁顯示,而不是隻顯示我的查詢結果

​​

還是那句話:如果我跑我的代碼在沒有其他數據的頁面上工作正常,但是當我將它合併到另一個頁面時,我得到上述問題

代碼subm它形成不低於表重裝

jQuery(document).click(function(e){ 
    var self = jQuery(e.target); 
    if(self.is("#resultForm input[type=submit], #form-id input[type=button], #form-id button")){ 
     e.preventDefault(); 
     var form = self.closest('form'), formdata = form.serialize(); 
     //add the clicked button to the form data 
     if(self.attr('name')){ 
      formdata += (formdata!=='')? '&':''; 
      formdata += self.attr('name') + '=' + ((self.is('button'))? self.html(): self.val()); 
     } 
     jQuery.ajax({ 
      type: "POST", 
      url: form.attr("action"), 
      data: formdata, 
      success: function(data) { 
       console.log(data); 
      } 
     }); 
    } 
}); 

PHP

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { 
     $sport = $_POST['sport']; 
     $round = $_POST['round']; 
     $tournament=$_POST['tournament']; 

     echo $sport; 
     echo $round; 
     echo $tournament; 

    } 

我希望我的問題是有道理的,什麼是錯的人可以告訴我,如果你需要任何其他的信息,讓我知道

它大概值得一提的即時運行的fancybox這裏面的腳本i幀

更新

問題是我在頁面上獲取的iframe ...這是非常奇怪的內部顯示?

HTML代碼

<label>Sport :</label> 
<form method="post" id="resultForm" name="resultForm"> 
<select name="sport" class="sport"> 
<option selected="selected">--Select Sport--</option> 
<?php 
$sql="SELECT distinct sport_type FROM events"; 
$result=mysql_query($sql); 
while($row=mysql_fetch_array($result)) 
{ 
    ?> 
     <option value="<?php echo $row['sport_type']; ?>"><?php echo $row['sport_type']; ?></option> 
     <?php 
} 
?> 
</select> 

<label>Tournamet :</label> <select name="tournament" class="tournament"> 
<option selected="selected">--Select Tournament--</option> 
</select> 


<label>Round :</label> <select name="round" class="round"> 
<option selected="selected">--Select Round--</option> 
</select> 
<input type="submit" value="View Picks" name="submit" /> 
</form> 
+0

爲什麼不綁定'click'事件的元素,而不是'self'檢查? –

+0

你能解釋一下錯誤頁面的含義嗎?您正在顯示的頁面是否再次顯示或是否是另一頁?表單是什麼樣的? – Jim

+0

後HTML太.... –

回答

1

form不具有action所以它總是發送到當前頁面的請求。將action設置爲您想要提交的頁面。

+0

吉姆它有一個動作的隊友.... –

+0

對不起,我試着讓你知道 –

1

設置動作到您的表單,讓你得到所需的輸出直通jQuery代碼

使用<form action="Your_page"...>....</form>

+0

nope,還是同樣的問題.. –