打印在下一页上的正确值 - onclick

时间:2011-08-08 16:46:41

标签: php

首先点击bb链接,你会看到hello下拉框并点击下一页的提交按钮,你会看到Hi输出,但实际上它应该是Hello

单击cc链接时,您将看到hi下拉框当单击提交按钮时,输出仍保持相同,因此下一页不会打印更正的值

文件名:enable.php

<html>
    <head>
        <script type="text/javascript">
            function showdetail(boxid){
                document.getElementById(boxid).style.display = "block";
            }

            function hidedetail(boxid){
                document.getElementById(boxid).style.display = "none";
           }
        </script>
    </head>
    <body>
        <form name="abc" method="post" action="abc.php">
            <ul>
                <li><a id="r" href="#" title="" alt="" onclick="showdetail('res'); hidedetail('comm');">bb</a></li>
                <li style="width: 1px;">|</li>
                <li style="width:85px;"><a id="r" href="#" title="" alt="" onclick="showdetail('comm'); hidedetail('res');">Cc</a></li>
                <li style="width: 2px;">|</li>  
            </ul>`
            <div id="res">
                <select id="pr" name="pr" class="textarial12 textcolorgrey flot_left">
                    <option value="Hello">Hello</option>
                </select>
            </div>
            <div id="comm" style="display:none;">
                <select id="pr" name="pr" class="textarial12 textcolorgrey flot_left">
                    <option value="Hi">Hi</option>
                </select>
            </div>
            <input type="submit" value="submit" />
        </form> 
    </body>
</html>

文件名:abc.php

<?php

$PrType=$_POST['pr']; 
echo $PrType;    

?>

1 个答案:

答案 0 :(得分:1)

您的问题是两个<select>都在DOM中,名称相同。当表单提交时,它会抓取所有带有名称的表单元素,并且因为两个<select>具有相同的名称,所以第二个('hi')将覆盖第一个('hello')。

要停止表单提交值,请输入disabled

注意:你真的不应该有多个具有相同id的元素。 HTML中的id应该是唯一的。