关于单个表单上的多个提交按钮的PHP代码

时间:2012-05-31 14:16:00

标签: php

我的索引页面上有两个提交按钮,即国际和国内。当我点击按钮时,我想要两个不同的按钮指向不同的页面,即int.php和dom.php。你能帮我吗。感谢

7 个答案:

答案 0 :(得分:4)

虽然只允许为表单元素定义单个action = ""。但如果我必须这样做,我会这样做。

<form action ="somepage.php" method="post">
    <!--all your input elements-->
    <input type="submit" name ="international" value="international"/>
    <input type="submit" name ="domestic" value="domestic"/>
</form>

确定单击了哪个按钮并采取相应措施。

if(isset($_POST['domestic']) {
    //include dom.php

}

else if(isset($_POST['international']) {
    //include  int.php
}

然后您可以包含必要的文件。

或另一种方式是AJAX/jQuery方式

答案 1 :(得分:0)

你可以在php中使用switch来区别或 使用javascript

答案 2 :(得分:0)

用jquery做吧!首先,不要创建提交按钮只需创建

<input type="button" />

比给他们一个像:

<input type="button" id="InternationalBTN" />
<input type="button" id="DomesticBTN" />

并使用jquery绑定操作

$(document).ready(function(){
    $("#InternationalBTN").bind('click',function(){
        $('#idOfYourForm').attr('action','setTheDestinationPageHere');
        document.forms['nameOfYourForm'].submit();
    });
});

答案 3 :(得分:0)

你可以这样做:

在表单标记中,请留空操作action=""

要发送的2个按钮:

<input class="btnSend" type="submit" name="International" value="International" id="International"/>
<input class="btnSend" type="submit" name="Domestic" value="Domestic" id="Domestic"/>

并使用ajax:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script>
  $(document).ready(function(){
    $('#International ').click(function() {
      // send to file 1 using ajax
    });
    $('#Domestic').click(function() {
      // send to file 2 using ajax
    });
  });
</script>

以下是使用ajax发送数据的方法:
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

答案 4 :(得分:0)

您的表单操作必须包含某种条件语句,以根据单击的提交按钮重定向用户

<form action="<?php if(isset($_POST['international'])){echo 'international.php';}else{echo 'domestic.php';}?>" method="post">
  <input type="text" name="field1" />
  <input type="text" name="field2"/>
  <input type="submit" value="international "name="international"/>
  <input type="submit" value="domestic "name="domestic"/>
</form>

或者您可以在表单操作指定的页面上设置条件,并根据单击的按钮重定向,

答案 5 :(得分:0)

这是不可能的,因为你的表单的action属性一次只能指向一个位置,而且两个按钮的形式相同(但如果使用AJAX则可以)。

如果你想使用纯PHP(即不涉及Javascript),你必须为不同的按钮点击编写两个不同的处理程序,如下所示:

if(isset($_POST["name_of_international_button"])){
    //actions to perform for this -- 
}
if(isset($_POST["name_of_domestic_button"])){
    //action to perform for this
}

在每个处理程序的操作部分中,您可以执行重定向,其中包含要在int.phpdom.php脚本中处理的数据的URL

答案 6 :(得分:-1)

只需输入表单标记,然后将操作设置为页面即可。然后,提交按钮将导航到动作标签指向的页面...

这样简单:D