首页
PHP
如何使用post方法获取while循环中的提交按钮值
如何使用post方法获取while循环中的提交按钮值
[英] how to get the submit button value which is in while loop using post method
本文介绍了如何使用post方法获取while循环中的提交按钮值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
while 条件中的输入字段,我正在显示从表 red_digid_info 中获取选项卡值的选项卡
<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 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 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')">重置</button>
<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`");而 ($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></form>
如果我单击选项卡的任何一个值来显示选项卡内容,那么我需要在 php post 方法中提交按钮的值
if($_REQUEST['pointer'] ==1){var_dump($_POST);//-----给定的状态标准--------------------////-----------isp tab 提交--------------//if(isset($_POST['isp_value'])){print_r($_POST['isp_value']);$isp=$_POST['isp_value'];}//- - - - - - - - - 结尾 - - - - - - - - - - -////-----------隐藏值数组--------------///*$data = $_POST['isp_hidden_value'];foreach($data as $isp){回声isp_hidden =".$isp;}//- - - - - - - -其他方式 - - - - - - - -//$isp_hidden = $_POST['isp_hidden_value'][$isp];*///- - - - - - - 结尾 - - - - - - - - - - - -//$date= date("Y-m-d");;$fromdatepicker =$_POST['fromdate'];$todatepicker =$_POST['todate'];出口;}
if(isset($_POST['isp_value']))//这个if条件失败isp_value没有设置不知道原因和解决方法
提交功能
function submit_isp_status(formId) {if($("#"+formId).valid() == true) {$.ajax({类型:'POST',url: 'webxstatus.php',//同一页面数据:$("#"+formId).serialize(),成功:功能(数据){.....}});}}
过去 2 天我一直被这个问题困扰,有人帮我解决这个问题.
解决方案
你需要像这样将你的输入名称更改为数组 isp_value[]
这样只有你才能得到你点击的提交按钮的值否则你只会得到最后一个值.
echo " </input>"
PHP:
print_r($_POST['isp_value']);
还有你的 isp_hidden_value 中的小单引号问题
echo ' ';
注意:
如果您需要当前单击的提交按钮值表示 .不要使用隐藏字段,它会收集所有值.只需在提交按钮中插入值,它只会收集当前单击的元素值作为数组
试试这个例子:
<form action="" method="post"><input type="submit" name="xyz[]" value="1" ><input type="submit" name="xyz[]" value="2" ></表单>
Input field inside a while condition i'm displaying the tab in which tab values are fetched from table 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>
if i click any one value of a tab i ve to display the tab content so i need the value of submit button in php post method
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'])) //this if condition fails isp_value is not set don't know the reason and solution for it
submit function
function submit_isp_status(formId) {
if($("#"+formId).valid() == true) {
$.ajax({
type: 'POST',
url: 'webxstatus.php', //same page
data: $("#"+formId).serialize(),
success: function(data) {
..........
}
});
}
}
I'm stuck with this for past 2 days anyone help me to solve this.
解决方案
you need to change your input name to array like this isp_value[]
so only you can get the value which submit button you clicked otherwise you will get last value only .
echo "<input class='tablinks ion-radio-waves' type='submit' name='isp_value[]' value='$isp_value'></input>"
PHP :
print_r($_POST['isp_value']);
And also minor single quotes problem in your isp_hidden_value
echo '<input type="hidden" name="isp_hidden_value[]" value="'.$isp_value.'">';
note:
if you need currently clicked submit button value means . don't use hidden field it will collect all values . just insert the value in submit button it will collect only curently clicked element value only as a array
Try this example :
<?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>
这篇关于如何使用post方法获取while循环中的提交按钮值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文