【问题标题】:how to add $_POST['submit'] in ajax jquery or what is the best way to do this..?如何在 ajax jquery 中添加 $_POST['submit'] 或者最好的方法是什么..?
【发布时间】:2014-12-02 09:39:58
【问题描述】:

index.php

<form id="myForm" action="test2.php" method="POST">
    <input type="submit" value="Print 1" name="submit" id="submit">
    <input type="submit" value="Print 2" name="submit2" id="submit2">
</form> 
<div id="ack"></div>

这是我的脚本

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="scripts/login_script.js"></script>

test2.php

<?php
if(isset($_POST['submit'])){ 
echo "1"; // i want to show this everytime i click submit (not working)
}          // or what is the proper way to do this..

if(isset($_POST['submit2'])){
echo "2"; // i want to show this everytime i click submit2 (not working)
}         // or what is the proper way to do this..
?>

login_script.js

$("#submit, #submit2").click( function() {
  $.post( $("#myForm").attr("action"),
         $("#myForm :input").serializeArray(),

         function(data) {
                $("#ack").empty();
                $("#ack").html(data);
    });


$("#myForm").submit( function() {
   return false;    
});
});

如果我删除 if(isset($_POST['submit'])).... 它的工作... 那么这样做的正确方法是什么..? 抱歉,我是 ajax 和 jquery 中的菜鸟

【问题讨论】:

  • 确保第二个输入的name=也是submit2
  • 仍然无法正常工作,先生,我认为问题出在 if(isset($_POST['submit2'])){...?你有什么想法吗?

标签: javascript php jquery ajax


【解决方案1】:

不,您必须意识到&lt;input type="submit"&lt;button&gt; submit 不包含在.serializeArray() 中,您只需构建要传递的数据对象:

    $("#submit, #submit2").click( function() {
        var data = null;
        if($(this).attr('id') == 'submit') {
            values = {'submit': true};
        } else {
            values = {'submit2': true};
        }

            $.post( $("#myForm").attr("action"), values,

         function(data) {
                $("#ack").empty();
                $("#ack").html(data);
    });
});

Sample Demo

【讨论】:

  • 谢谢先生if($_SERVER['REQUEST_METHOD'] == 'POST') { 但我也想传递这样的数据 `mysql_real_escape_string( $_POST["name"] );我在上面找到了答案.. 谢谢你的时间.. :)
  • @PauloB.DelaCruz 兄弟很高兴这有帮助
  • 我能再问一个问题吗? @鬼?因为我有 3 天的时间才能再次提问。
  • @PauloB.DelaCruz 是的,它是什么?
  • pinoy karin pala whahha
【解决方案2】:

试试这个:

$("#submit, #submit2").click( function() {
        var formData = $(this).closest('form').serializeArray();
          formData.push({ name: this.name, value: this.value });
      $.post( $("#myForm").attr("action"),formData,


             function(data) {
                    $("#ack").empty();
                    $("#ack").html(data);
        });


    $("#myForm").submit( function() {
       return false;    
    });
    });

【讨论】:

  • 谢谢先生 :) 因为我也传递了这样的数据 $username = mysql_real_escape_string( $_POST["name"] );我用了你的代码...
【解决方案3】:

是的,我只是尝试一下,下面的代码对我有用,请检查。

index.php

<form id="myForm" action="test2.php" method="POST">
<input type="submit" value="Print 1" name="submit" id="submit">
<input type="submit" value="Print 2" name="submit2" id="submit2">
</form> 
<div id="ack"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$("#submit, #submit2").click( function() {
   $.post( $("#myForm").attr("action"),
      $("#myForm :input").serializeArray(),
       function(data) {
            $("#ack").empty();
            $("#ack").html(data);
});
$("#myForm").submit( function() {
return false;    
});
});
</script>

test.php

<?php
if(isset($_POST['submit'])){  
echo "1"; // i want to show this everytime i click submit (not working)
}          // or what is the proper way to do this..
if(isset($_POST['submit2'])){
echo "2"; // i want to show this everytime i click submit2 (not working)
}         // or what is the proper way to do this..
?>

【讨论】:

    【解决方案4】:

    在帖子中使用用户名而不是 ID。请尝试下面的代码,希望对您有所帮助。

    <form id="myForm" action="test2.php" method="POST">
    <input type="submit" value="Print 1" name="submit" id="submit">
    <input type="submit" value="Print 2" name="submit2" id="submit2">
    </form> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      相关资源
      最近更新 更多