我如何在PHP中POST一个Button值

时间:2016-01-28 10:38:29

标签: javascript php

我有一个表单,其中我使用多个Checkbox。在Checkboxes上我使用JavaScript进行验证如果我选中了所有复选框,它会继续前进,否则会显示一条警告消息。  我的代码运行良好

问题 因为我的表单上有两个按钮,它们具有不同的功能。我想在我的操作页面上发布Button的值

我的代码在这里

<script>
function letter_submit(){
  var pr = document.getElementsByName('pr'),
      i = 0;
  var allAreChecked = true;
  for( ; i < pr.length; i++ )
  {
    if( pr[i].checked=='' ) {
      allAreChecked = false;
    }
  }
  if (!allAreChecked) {
    alert("Please Check All Checkboxes");
    exit;
  } else {
    alert("All OK");
    document.getElementById("approve_letter").submit();

  }
}
    </script>

 <form action="letter_approve_action.php" id="approve_letter" name = "approve_letter" method="POST" >

<input type="checkbox" name="pr" id="pr" value="" /> NL is appropriately addressed.
 </br>
 <input type="checkbox" name="pr" id="pr" value="" /> Checked Press Release 
 </br>
  <input type="checkbox" name="pr" id="pr" value="" /> Applicable Methodology is rightly Marked
 </br>
  <input type="checkbox" name="pr" id="pr" value="" /> Respective Sector Study on Website is Updated Within Last 12 Months.
 </br>

<button type="button" name="btn_submit" id="btn_submit" value="Approve" onclick="letter_submit();">Approve</button>

<button type="button" name="btn_submit" id="btn_submit" value="Re - Submit" />Re-Submit</button>

</form>

在操作页面上,我使用

echo $submit = $_POST ['btn_submit'];

我收到了错误

Notice: Undefined index: btn_submit in C:\xampp\htdocs\Work_Que_Backup\login\pacra-all\w_q\nl\letter_approve_action.php on line 26

2 个答案:

答案 0 :(得分:0)

您可以使用<button>代码。

例如:

<form method="post">
     <input type="text" name="myText" value="some text here..."/>
     <button type="submit" name="myButton" value="buttonValue">Submit</button>
</form>

显示的标签是“提交”,但您可以使用不同的值从服务器访问您的按钮值。

可以通过服务器端的 php 访问它:

echo $_POST['myButton']; //buttonValue

答案 1 :(得分:0)

您的代码中的问题是您的按钮类型为&#34;按钮&#34;,并且您通过javascript触发POST - 因此btn_submit的值永远不会设置。

将按钮类型更改为&#34;提交&#34;并将事件处理程序onclick=...移动到表单标记onsubmit=...。在您的javascript函数中,您可以通过返回false来取消提交。