通过jquery发送请求发送按钮值

时间:2017-05-05 00:02:57

标签: javascript php jquery ajax serialization

我的代码

<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'];

?>

我要做的是使用值=&#34;属性&#34; 提交 ,以便数据被序列化并发送帖子请求,&当用户插入一个值并提交时,我不需要提交,我需要的是获取值属性并提交给php,这段代码仅用于简化和说明我想要做的事情,因为在此页面我有以下带有ID的按钮#follow #unfollow所以我需要一种方法来获取按钮值以使用户关注和取消关注。

2 个答案:

答案 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();...

&#13;
&#13;
 $(document).ready(function () {
    $("#testButton").click(function() {
        var combinedData = $("#testForm").serialize();
         console.log(combinedData);
      })
   })
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

Straight 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>

这有效......

你也可以在按钮上放一个课,让我们说class =&#34; followBTN&#34;然后在点击时你可以通过$(this).val()获取值。如果每页有多个按钮,我会使用这个方法。