【问题标题】:Assign a variable a value if a checkbox is clicked within a form javascript如果在表单javascript中单击复选框,则为变量分配一个值
【发布时间】:2017-01-31 20:19:11
【问题描述】:

只要单击某些复选框,我就会尝试为变量分配一个值。下面的代码可以满足我的需要,但是一旦我将它放在表单中,它就会破坏功能。

我认为我遗漏了一些非常简单的东西,但是对于我的生活来说,我无法找到如何选择表单值 - 还有人有关于如何缩放它以与多个复选框一起使用的建议吗?

function cb3(checkbox) {
  if (checkbox.checked) {
    alert("function called!");
    $userChoice1 = 'value1';
  } else {
    $userChoice1 = '';
  }
}
<input type="checkbox" id="cb3test" name="cb3" value="value1" onClick="cb3(this)">Value1

提前谢谢,如果这是重复的,尽管我找不到有关表单的问题。

【问题讨论】:

    标签: javascript html forms checkbox


    【解决方案1】:

    你可以用这个:

    $('#cb3test').change(function () {
            if ($(this).is(':checked')) {
               alert("function called!");
                $userChoice1 = 'value1';
            } else {
               $userChoice1 = '';
            }
        });
    

    【讨论】:

    • 但他可以使用,因为他包含了 jquery.min.js
    • jquery 是由@Daniel 在上次编辑中添加的,它不应该......(回滚)。
    【解决方案2】:

    因此,您可以在一个表单中包含多个复选框,然后使用 onsubmit 事件检查所有复选框输入的值:

    <form id="myId" name="myForm" onsubmit="myFunction()">
       <input type="checkbox" id="cb3test" name="cb3" value="value1"/>
       <input type="checkbox" id="cb3test" name="cb4" value="value2"/>
       <input type="submit"/>
    </form>
    
    myFunction() {
    var inputs = document.getElementsByTagName("input");
    for(var i = 0; i < inputs.length; i++) {
        if(inputs[i].type == "checkbox") {
            {your logic here} 
        }  
    }
    }
    

    PS:我不知道你是否可以运行这个确切的代码,因为距离我上次编写 html/js 代码已经很久了,但我认为你可以理解。

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      相关资源
      最近更新 更多