当<button type =“submit”>点击</button>时,<input type =“checkbox”/>上的非JS触发点击事件

时间:2014-08-16 17:19:20

标签: html forms form-submit html-form

我有一个带有<button type="submit">的表单,我正在寻找一种非JS方式来触发隐藏/显示上的点击事件:单击该按钮时没有<input type="checkbox">

我的第一个想法是

<form>
  <label>
    <input type="checkbox" name="all" style="display:none;"/>
    <button type="submit">I want everything</button>
  <label>
  ... checkboxes ...
  ... submit selected items ...
</form>

但正如你在下面的JSFiddle中看到的,当你点击按钮时,按钮点击事件会触发,然后标签点击发生,但输入点击不会发生。

JS小提琴:

http://jsfiddle.net/yqat20xp/42/

我想知道是否有非JS方法可以做到这一点。基本上我想要的是取消选中<input type="checkbox">,但如果单击<button type="submit">,我希望表单数据注册复选框已被选中。

这背后的原因是我有一个带有多个复选框的表单,“我想要一切!”提交的按钮,以及想要检查一些但不是所有复选框的用户的常规提交按钮。

在后端,我想看到用户提交了“我想要一切”按钮,或者他们选择了一些选项并点击了常规的“提交所选”按钮。后端是封闭的,所以我必须通过一个检查<input type="checkbox">。另外,我可以传入一个<input type="radio">来指示按下了哪个按钮。

没有JS可以做到吗?

1 个答案:

答案 0 :(得分:0)

简化您的问题:

您只想知道点击了哪个按钮。所以只需为这些按钮分配不同的值。

<button type="submit" name="btn_submit" value="all">i want everything</button>
<button type="submit" name="btn_submit" value="some">only checked</button>

在您的服务器脚本中,您现在可以检查单击了哪个按钮