2017-05-05 64 views
0

我的代碼通過POST請求發送按鈕值通過jQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

<form> 
<button id="test" value="123" name="test" >ok</button> 
</form> 

<script> 


$(document).ready(function() { 
      $("#test").click(function() { 
        var combinedData = $("#test").serialize(); 
       $.post(
         "element_submit.php", 
         combinedData 
       ).done(function(data) { 
         //alert("Successfully submitted!"); 
         $("#result").html(data); 
       }).fail(function() { 
          //alert("Error submitting forms!"); 
       }) 
      }); 
     }); 

</script> 



<div id="result" ></div> 

element_submit.php文件

<?php 

//just to test it should output in the #result div 
echo $_POST['test']; 

?> 

我所試圖做的是與值提交 = 「屬性」因此數據序列化和發送POST請求,它不是像一個提交時用戶插入一個值並提交,我需要的是獲得的價值屬性和SUBM它在PHP中,這個代碼僅用於簡化和說明什麼,我試圖做的,因爲在這個頁面我有IDS以下按鈕#follow #unfollow所以我需要一種方式來獲得按鈕值,使用戶遵循並取消關注。

+1

請參考這篇文章http://stackoverflow.com/questions/4007942/jquery-serializearray-doesnt-include-the-submit-button-that-was-clicked – Vbudo

+0

謝謝,這是非常有用的 –

回答

1

需要序列的形式 - 而不是在它裏面的元素。你也可以擁有,這將阻止興田形式從提交按鈕上點擊的形式外觸發按鈕。

<form id="testForm"> 
    <input type="hidden" name="testInput" value="123"/> 
</form> 

<button name="test" id="testButton">submit</button> 
... 

<script> 
$(document).ready(function() { 
      $("#testButton").click(function() { 
        var combinedData = $("#testForm").serialize();... 

$(document).ready(function() { 
 
    $("#testButton").click(function() { 
 
     var combinedData = $("#testForm").serialize(); 
 
     console.log(combinedData); 
 
     }) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="testForm"> 
 
    <input type="hidden" value="123" name="testinput"/> 
 
</form> 
 
<button id="testButton">Click</button>

+0

我改變了,但它是不工作 –

+0

做,如果你CONSOLE.LOG你會得到什麼(combinedData);在嘗試發佈之前? – gavgrif

+0

輸出全部空白 –

1

直JS可能會幫助你。包含一個發送id並獲取該id值的函數。然後只需發送一個沒有序列化的值的常規帖子...更容易。

<script> 
function fetchButtonValue(theId){ 
var p = document.getElementById(theId).value; 
alert (p); 
} 
</script> 

<button id="myFormBtn" value ="woo" 
onclick="fetchButtonValue(this.id)">My Button</button> 

這個工程...

你也可以把一個類上的按鈕讓我們說類=「followBTN」,然後在點擊你可以只撿了$值(本).VAL( )如果每頁有一個以上的按鈕,我會使用這種方法。