例如,假设您有一个循环,每次循环时都会产生一个按钮。因此,如果循环运行五次,则会有5个按钮。现在说我有一个像$ num这样的变量,每次循环循环都会改变。是否有一种方法可以让每个按钮在单击按钮时传递其各自的$ num?
$num = 0;
while(...){
//want this to send $num via POST or GET to xyz.php
echo '<button type="submit" value="3" name="editId">Remove</button>';
$num++;//$num changes every instance of the loop
}
答案 0 :(得分:4)
最简单的方法是围绕每个<form>
代码创建<button>
:
$num = 0;
while(...){
//want this to send $num via POST or GET to xyz.php
echo '<form method="post" action="xyz.php">';
// Pass $num into the form value
echo '<button type="submit" value="' . $num. '" name="editId">Remove</button>';
echo '</form>'
$num++;
}
点击的广告将xyz.php
传递给$_POST['editId']
。
虽然此方法为每个按钮创建了不同的表单,但还有其他方法可以使用JavaScript,它使用单个表单并根据单击的按钮将值分配给隐藏的输入。如果只发送一个输入值,那么多个<form>
s选项可能最容易编码。
答案 1 :(得分:1)
按钮的名称&amp;价值应与表格一起提交。
例如:
<?php print_r($_POST); ?>
<form action="" method="post">
<button type="submit" name="button" value="value">Button</button>
</form>
单击“按钮”按钮时,将提交表单并
Array ( [button] => value )
将在表格上方输出。
将此应用于您的情况,可以使用以下内容:
$num = 0;
while(...){
// Set $num as the value of each button
echo "<button type='submit' value='{$num}' name='editId'>Remove</button>";
$num++;//$num changes every instance of the loop
}
答案 2 :(得分:0)
你快到了:
$num = 0; while(...){ //want this to send $num via POST or GET to xyz.php
echo '<button type="submit" value="'.$num.'" name="editId">Remove</button>';
$num++;//$num changes every instance of the loop
}
答案 3 :(得分:0)
你非常接近。只需将$num
插入按钮的value
属性即可。
$num = 0;
while(...){
//want this to send $num via POST or GET to xyz.php
echo '<button type="submit" value="'.$num.'" name="editId">Remove</button>';
$num++;//$num changes every instance of the loop
}
当您在<form>
代码中包含此代码块时,点击[ Remove ]
按钮会将$num
的值发送到:$_POST['editId']
。