首先点击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;
?>
答案 0 :(得分:1)
您的问题是两个<select>
都在DOM中,名称相同。当表单提交时,它会抓取所有带有名称的表单元素,并且因为两个<select>
具有相同的名称,所以第二个('hi')将覆盖第一个('hello')。
要停止表单提交值,请输入disabled
。
注意:你真的不应该有多个具有相同id
的元素。 HTML中的id
应该是唯一的。