我想根据点击的提交按钮为所需的fiel定义规则:
<div class="align-right">
<button type="submit" name="action" id="action" value="opt1">Option 1</button>
<button type="submit" name="action" id="action" value="opt2">Option 2</button>
</div>
我在表单底部有两个按钮:
session(['random' => [[1, 18, 5], [4, 3, 8], [3, 9, 14], ....]]);
问题是,获得的值$(“#action”)。val()总是“opt1”,无论我点击按钮
答案 0 :(得分:1)
首先,id
应该是唯一标识符。您不能有两个具有相同ID的按钮。
其次,两个submit
按钮没有任何意义,因为提交操作没有连接到按钮 - 提交了表单,而不是按钮,这样你甚至可以拥有{ {3}}独立于按下按钮。
您想要的是将两个按钮都设置为type="button"
并以不同方式处理它们的行为。有点像:
<div class="align-right">
<button type="button" name="action" value="opt1" onclick="handleClickOpt1()">Option 1</button>
<button type="button" name="action" value="opt2" onclick="handleClickOpt2()">Option 2</button>
</div>
然后,既然你正在使用jQuery,那么你可以submit
这些处理函数中的表单,无论你正在寻找什么行为。
然而,你应该问一个不同的问题:为什么你需要两个提交表单的按钮但行为不同?为什么不使用复选框来切换按钮功能呢?
答案 1 :(得分:0)
这是因为according to the specs,当您在页面上有两个具有相同ID的元素时,HTML / JS很奇怪。尝试将id="action"
转换为不同的内容,看看它是否更有效。