在一段时间内的输入字段,我正在显示从表 red_digid_info 中获取选项卡值的选项卡
<form method="POST" action="" id="form_isp_status" onsubmit="submit_isp_status('form_isp_status');""> <div class="row"> <label for="fromdate" class="col-sm-1 control-label"> FROM DATE </label> <label for="todate" class="col-sm-1 control-label" style="margin-left: 4cm;"> TO DATE </label> </div> <div class="row"> <div class="col-sm-1"> <div class="input-group"> <input type="text" class="form-control" id="fromdatepicker" name="fromdate" placeholder="yyyy-mm-dd" style="width:200px;height:33px;"> <span class="input-group-addon"><i class='glyphicon glyphicon-calendar'></i></span> </div> </div> <div class="col-sm-1" style="margin-left:4cm"> <div class="input-group"> <input type="text" class="form-control" id="todatepicker" name="todate" placeholder="yyyy-mm-dd" style="width:200px;height:33px;"> <span class="input-group-addon"><i class='glyphicon glyphicon-calendar'></i></span> </div> </div> <div class="col-sm-offset-2 col-sm-2"> <input type="submit" value="ISP Status" class='btn btn-purple btn-rounded w-md m-b-5' name="isp_button"> <input type="hidden" value="1" name="pointer"> <button type="button" class="btn btn-pink btn-rounded w-md m-b-5" onclick="resetforms('form_isp_status')">Reset</button> </div> </div> <div class="row"> <label for="isp" class="col-sm-1 control-label"> SELECT ISP</label> </div><div class="row"> <div class="tab"> <?php $isp_tab = mysql_query("SELECT DISTINCT(`isp`) FROM `red_dgid_info`"); while ($result = mysql_fetch_array($isp_tab)) { $isp_value = $result[0]; echo '<input class="tablinks ion-social-rss" type="submit" name="isp_value[]" value="'.$isp_value.'">'; //echo '<input type="hidden" name="isp_hidden_value[]" value="'.$isp_value.'">'; } ?> </div> </div></form>
如果我单击选项卡的任何一个值,我就会显示选项卡内容,因此我需要 php post 方法中提交按钮的值
if($_REQUEST['pointer'] ==1) { var_dump($_POST); //-------status criteria given---------------------// //-----------isp tab submiited--------------// if(isset($_POST['isp_value'])) { print_r($_POST['isp_value']); $isp=$_POST['isp_value']; } //------------------end----------------------// //----------hidden value array--------------// /*$data = $_POST['isp_hidden_value']; foreach($data as $isp) { echo "isp_hidden =".$isp; } //---------------another way----------------// $isp_hidden = $_POST['isp_hidden_value'][$isp];*/ //--------------end------------------------// $date= date("Y-m-d");; $fromdatepicker =$_POST['fromdate']; $todatepicker =$_POST['todate']; exit; }
if(isset($_POST['isp_value']))//这个 if 条件失败 isp_value 没有设置不知道原因和解决方案
提交函数
function submit_isp_status(formId) { if($("#"+formId).valid() == true) { $.ajax({ type: 'POST', url: 'webxstatus.php', //same page data: $("#"+formId).serialize(), success: function(data) { .......... } }); } }
过去两天我一直被这个问题困扰,有人帮我解决这个问题。
最佳答案
您需要将输入名称更改为数组,如下所示 isp_value[]
因此只有您可以获得您单击的提交按钮的值,否则您将只能获得最后一个值。
echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value[]' value='$isp_value'></input>"
PHP:
print_r($_POST['isp_value']);
还有 isp_hidden_value 中的小单引号问题
echo '<input type="hidden" name="isp_hidden_value[]" value="'.$isp_value.'">';
注意:
如果您需要当前单击的提交按钮值的含义。不要使用隐藏字段,它会收集所有值。只需在提交按钮中插入值,它将仅以数组形式收集当前单击的元素值
试试这个例子:
<?php
if(isset($_POST['xyz']))
{
print_r($_POST);
}
?>
<form action="" method="post">
<input type="submit" name="xyz[]" value="1" >
<input type="submit" name="xyz[]" value="2" >
</form>
关于php - 如何使用post方法获取while循环中的提交按钮值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44149391/