使用脚本创建隐藏的输入字段

使用脚本创建隐藏的输入字段

我有一个带有多个复选框的表单。选中后,提交时该值为“是”。我正在尝试找到提交表单时为所有未选中的复选框分配值“ no”的最佳方法。

我似乎无法使它正常工作。这是我所拥有的:

$('#foo :checkbox').submit(function() {
  var $this = $(this);
  // $this will contain a reference to the checkbox
  if ($this.is('not(:checked)')) {
    // the checkbox was not checked
    var input = document.createElement("input");
    input.setAttribute("type", "hidden");
    input.setAttribute("name", $(this).attr("name"));
    input.setAttribute("value", "no");
    //append to form element that you want .
    document.getElementById("#foo").appendChild(input);
  } else {

  }
});


为什么这不起作用?

最佳答案

接下来是其他答案...

该事件在窗体上触发,因此:

$('form').submit(function() {
    var $this = $(this);

    // Set checked inputs to value yes
    $this.find('input:checkbox:checked').attr('value', 'yes');

    // Set unchecked inputs to value no
    $this.find('input:checkbox:not(:checked)').attr('value', 'no');
});


将在触发提交时触发。

假设HTML类似于:

<form>
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="checkbox" />
    <input type="submit" />
</form>

关于javascript - 使用脚本创建隐藏的输入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39276200/

10-11 11:21