【发布时间】:2014-07-08 03:14:53
【问题描述】:
我有一个页面有两个表单,第二个表单使用第一个表单的 action 属性。代码:
<!-- mountain sites -->
<form name="form" action="shopsite.php" method="post" id="form">
<!-- sites pass alt tag to shopsite.php -->
<ul id="sites">
<tr>
<li><td class="" id="Hyland"><div><img id="imgHyland" onclick="this.src='radiotower.jpg';clearAck('Hyland');" src="radiotower.jpg" alt="Hyland" class="location" /><br/>Hyland</div></td></li>
</ul>
<div><input type="hidden" name="sitename" id="sitename" value="" /></div>
</form><!-- end first form -->
<!-- non-mountain sites -->
<form name="form-nm" action="shopsite-nm.php" method="post" id="form-nm">
<!-- sites pass alt tag to shopsite-nm.php -->
<ul id="sites">
<li><td class="" id="KMS"><div><img id="imgKMS" onclick="this.src='radiotower.jpg';clearAck('KMS');" src="radiotower.jpg" alt="KMS" class="location" /><br/>KMS</div></td></li>
</tr>
<div><input type="hidden" name="sitename" id="sitename" value="" /></div>
</form><!-- end second form -->
当我单击任一表单上的输入(输入是 li 标签)时,它会转到 shopsite.php。第二种形式的输入应该转到 shopsite-nm.php。我研究了在一个页面上使用多个表单来调用不同的 php 页面,据推测这是可能的,尽管我发现的示例没有使用隐藏输入。我不确定这是否是问题所在。
提前感谢您的帮助:)
编辑:站点名称从两种形式都正确传递。
编辑 2:如果有更好的方法来构建它,我愿意接受建议。这个想法是每个表单都显示一个站点列表及其状态,当用户点击一个站点时,他们会看到一个页面,其中包含有关该特定站点的更详细信息。最初只有一个表格包含所有网站,但最近添加了需要不同信息显示的新网站,这就是我现在尝试在第二个表格中提供的内容。
【问题讨论】:
-
顺便说一句:您的第二次编辑是一个聪明的补充——这种信息有助于避免XY Problem。
-
clearAck()是做什么的?这是提交表格吗?旁注:您可以使用提交按钮并使用属性form="your_form_id",它设置应提交的表单,<input type="submit" name="submit" form="form-nm" /> -
clearAck() 不提交表单;它设置了一个位,表示用户已确认先前存在的问题,因此它不会继续显示错误消息。我不使用提交按钮的原因是每个 li 显示一个图像(src 参数)并且用户点击它,所以图像是按钮。显示屏将在大屏幕上远距离观看,因此鼓励更大的输入,因为按钮将难以阅读。
-
您有多个具有相同 id 的元素(例如,
sites、sitename等)这很糟糕——id 必须是唯一的。