【问题标题】:How to check the form elements in the loop?如何检查循环中的表单元素?
【发布时间】:2019-09-30 19:27:48
【问题描述】:

我正在尝试使用循环中的表单元素打印变量。我正在尝试用这段代码 sn-p 做一个简单的演示。

<?php
$i = 1;
$ready = false;
while ($i<=60):?>


<form name="demo" method="POST">
     <input type="text" name="tester" value="<?php echo $i ?>">
     <input type="submit" name="submit">
</form>


<?php 
if (isset($_POST["submit"]) && !$ready){
  $i++;
  $ready = true;
} else {
  break;
}
  endwhile;
?>

我用“break;”终止循环启动时的命令。通过一个简单的条件,我的目标是移动到循环的第二部分。但是,这里发生了错误。 因为循环创建了一个新的输入。而它需要打印到已经存在的输入中。

输出=

[ 1 ](提交)=> 点击

[ 2 ] (提交) => 新输入

&lt;input type="text" name="tester" value="1"&gt;

&lt;input type="text" name="tester" value="2"&gt;

输出应该是 b=

[ 1 ](提交)=> 点击

[ 2 ](提交)=> 没有新的输入。只有值变量已更新。

&lt;input type="text" name="tester" value="1"&gt; => value="2"

【问题讨论】:

  • Javascript能不能用?
  • @BhaumikBhatt 不,实际上,我想使用 ajax。
  • 你想在输入框内打印 1,2,3...60 对吧?
  • @BhaumikBhatt 是的。
  • @loritasker 你能改写你的问题吗?很难理解你在这里的目标是什么。

标签: php html loops


【解决方案1】:

我认为你不需要一个循环,(除非你出于某种原因真的需要它)下面的代码就足够了

<?php
$value = 1;
if (isset($_POST['tester'])) {
    $new_value = intval($_POST['tester']);
    if ($new_value > 0 && $new_value < 60) {
        $value = $new_value + 1;
    } elseif ($new_value == 60) {
        $value = $new_value;
    }
}
?>
<form name="demo" method="POST">
     <input type="text" name="tester" value="<?php echo $value ?>">
     <input type="submit" name="submit">
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 2017-08-10
    • 2014-07-10
    相关资源
    最近更新 更多