2017-02-14 24 views
1

我目前正試圖發送數據到同一頁使用表中選定的值行。用戶選擇突出顯示,然後當按鈕的onsubmit事件被觸發時,腳本運行。

我試圖檢索在同一頁面上的$_POST數據,以便用戶看到他們需要填寫的新表單並且不再顯示上一個表格,但我從來沒有進入一個if語句來檢查,如果它isset LIK這樣的:

isset($_POST['xx']) 

我真的不知道我在做什麼錯在這裏。這是到目前爲止我的代碼:

$(".mypost").on("click",function(){ 
    $.ajax({ 
     url: "../ajout-correctifs/", 
     type: "POST", 
     data: { selectedcoll: $("#MyTable1 tr.selected input").val()}, 
     success: function(response){  
      window.location = "../ajout-correctifs/"; 
      //alert(response); 
     }, 
     error: function(){ 
      alert("POST METHOD ERROR : DATA NOT POSTED - IMMINENT PAGE RELOAD.."); 
      window.location = "../ajout-correctifs/"; 
     } 
    }); 
}); 

附加信息:

  • $("#MyTable1 tr.selected input")是幫助我找回無論用戶選擇。
  • alert("response")顯示HTML代碼

編輯:這是我的PHP文件:

https://raw.githubusercontent.com/SofiaEO/mypage/master/mycode.php

編輯:萬一別人解決方案有同樣的問題

我刪除了url的值+我用$('body').html(response)打印頁面。

+0

你能告訴我們php代碼嗎? – Cashbee

+0

@Cashbee注意。我剛剛編輯了我的問題,但再次鏈接(它有大約300行): https://raw.githubusercontent.com/SofiaEO/mypage/master/mycode.php – SofiaEO

+0

請不要鏈接到外部源300線。閱讀:http://stackoverflow.com/help/mcve – Nanne

回答

0
  1. 檢查ajax「url」參數。
  2. 在您的成功函數中,您使用了「window.location」。 你不能這樣做,因爲在重定向之後,你失去了ajax post的「數據」,並且始終爲false,因此「新」重定向頁面中的條件爲:「isset($ _ POST ['xx'])」。

所以爲了避免在ajax響應後出現NOT REDIRECT。刪除你的成功函數中的window.location;

訪問此:Ajax tutorial for post and get

+0

我剛剛嘗試了您發佈的解決方案;擺脫了重定向和所有,但事情是當我注入成功函數的響應到div元素,它只是打印出html作爲純文本;我想要檢索的是特定的$ _POST值不被注入到一個HTML元素中,而是作爲一個變量使用。 – SofiaEO

+0

另外,設置$ _POST時加載的頁面的其他部分不會顯示,而是我有我的表格,我在其中選擇要發佈的值和純HTML代碼之後.. – SofiaEO

+0

要顯示html代碼在「isset」下面在你的成功函數中使用jquery。找到那個代碼(例如:$(response).find('#mytable');)並在你想要的當前html頁面追加查找代碼。 – alvarofvr

相關問題