Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在PHP中动态创建按钮名称并检测按下的按钮?_Javascript_Php - Fatal编程技术网

Javascript 如何在PHP中动态创建按钮名称并检测按下的按钮?

Javascript 如何在PHP中动态创建按钮名称并检测按下的按钮?,javascript,php,Javascript,Php,这是我目前正在进行的一个PHP实验。这将是一个更大文件的一部分。 其思想是,程序将以一种形式生成一组提交按钮,并按照此约定为每个按钮指定一个唯一的名称:btn[按钮顺序] 然后,页面将轮询以查找是否使用isset()按下了任何按钮。这是我到目前为止得到的 <html> <head> <title>Test Dynamic Naming</title> </head> <body> <form acti

这是我目前正在进行的一个PHP实验。这将是一个更大文件的一部分。 其思想是,程序将以一种形式生成一组提交按钮,并按照此约定为每个按钮指定一个唯一的名称:btn[按钮顺序]

然后,页面将轮询以查找是否使用isset()按下了任何按钮。这是我到目前为止得到的

<html>
<head>
    <title>Test Dynamic Naming</title>
</head>

<body>
    <form action="testDynamicNaming.php" method="POST">
        <?php
            $row = 9;

            for($i = 0; $i < $row; $i++) {
                $name = 'btn['.$i.']';

                ?>
                    <input type="submit" name="<?php echo $name; ?>" value="<?php echo $name; ?>"/>
                <?php

                echo "<br>";
            }
        ?>
    </form>

    <?php
        extract($_REQUEST);

        for($i = 0; $i < $row; $i++) {
            $name = 'btn['.$i.']';

            if(isset($_POST[$name])) {
                echo "<br><br>".$name.' is pressed.';
            }

            // OR

            if(isset($$name)) {
                echo "<br><br>".$name.' is pressed.';
            }
        }
    ?>
</body>
</html>

测试动态命名
我成功地设置了按钮的名称和值,但页面无法检测到按下的按钮。我在这里遗漏了什么,或者有没有其他方法可以完成同样的任务?

您可以使用

if(isset($_POST['btn'][$i])) {
            echo "<br><br>".$_POST['btn'][$i].' is pressed.';
        }
if(isset($\u POST['btn'][$i])){
回显“

”,按“$\u POST['btn'][$i]”; }
您可以使用

if(isset($_POST['btn'][$i])) {
            echo "<br><br>".$_POST['btn'][$i].' is pressed.';
        }
if(isset($\u POST['btn'][$i])){
回显“

”,按“$\u POST['btn'][$i]”; }
是否可以使用javascript

容易的

     <input type="submit" name="<?php echo $name; ?>" onclick="document.getElementById('<?php echo $name; ?>_pressed').value='true';" value="1"/>
     <input type="hidden" id="<?php echo $name; ?>_pressed" name="x1_pressed" value="false"> 

if(isset($_POST[$name]) == "true") {
是否可以使用javascript

容易的

     <input type="submit" name="<?php echo $name; ?>" onclick="document.getElementById('<?php echo $name; ?>_pressed').value='true';" value="1"/>
     <input type="hidden" id="<?php echo $name; ?>_pressed" name="x1_pressed" value="false"> 

if(isset($_POST[$name]) == "true") {

我对javascript了解不多,所以我并不真正理解或知道如何使用它。不过还是要谢谢你这是一个非常简单的javascript。。。。解释:document.getElementById('NAME-BY-ID-TAG').value=“something”-这个表单元素的设置值。所以在这里,我将隐藏元素的“false”改为“true”。在PHP中,只检查带有后缀的元素,例如“pressed”。。。。(对不起,我的英语不好。)我试过了。它有效。:)下学期我上javascript课程时,我可能会理解得更好。:-)这是基本的javascript。如果您认为这是真正的解决方案,请将其标记为答案:)。我对javascript了解不多,所以我并不真正理解或知道如何使用它。不过还是要谢谢你这是一个非常简单的javascript。。。。解释:document.getElementById('NAME-BY-ID-TAG').value=“something”-这个表单元素的设置值。所以在这里,我将隐藏元素的“false”改为“true”。在PHP中,只检查带有后缀的元素,例如“pressed”。。。。(对不起,我的英语不好。)我试过了。它有效。:)下学期我上javascript课程时,我可能会理解得更好。:-)这是基本的javascript。如果您认为这是正确的解决方案,请将其标记为答案:)。谢谢。这也行得通。只是我不太明白,谢谢。这也行得通。只是我没有真正理解它。