Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取复选框是否选中_Javascript_Php_Html_Checkbox - Fatal编程技术网

Javascript 如何获取复选框是否选中

Javascript 如何获取复选框是否选中,javascript,php,html,checkbox,Javascript,Php,Html,Checkbox,因此,我必须在有复选框列表的地方(即注册)选择首选职位。例如,当有人输入“中锋”复选框和“守门员”复选框时,我希望向我发送所选位置的列表。正如您所看到的,这是一张包含每个位置的复选框列表的图片 因此,我使用这段代码来查看是否选中了有问题的复选框(每个复选框/位置都重复): 然后,我将所有字符串组合为: PreferedPositions = Goalie + " " + LeftDefense + " " + CenterLeftDefense + " " + CenterRightDefen

因此,我必须在有复选框列表的地方(即注册)选择首选职位。例如,当有人输入“中锋”复选框和“守门员”复选框时,我希望向我发送所选位置的列表。正如您所看到的,这是一张包含每个位置的复选框列表的图片

因此,我使用这段代码来查看是否选中了有问题的复选框(每个复选框/位置都重复):

然后,我将所有字符串组合为:

PreferedPositions = Goalie + " " + LeftDefense + " " + CenterLeftDefense + " " + CenterRightDefense + " " + RightDefense + " " + LeftMidfield + " " + CenterMidfield + " " + rightmidfield + " " + LeftAttack + " " + CenterAttack + " " + RightAttack + ".";
我将其发送到php,以便使用ajax将其通过电子邮件发送给所有者:

$.ajax({
      type: "POST",
      url: "registration.php",
      data: {
            PostPreferedPositions: PreferedPositions
      },
success: function (res) {}
});
但当我测试它时,电子邮件会显示:

“首选位置:未定义未定义未定义未定义。”

如果我没有选中任何复选框,我理解所有未定义的选项。但无论我选择了多少复选框,都会发生这种情况。如果我选择了守门员和中锋,我会期待:

“首选位置:守门员未定义未定义未定义中心攻击未定义。”


但事实并非如此。我知道我可以通过在语句中添加else if来轻松修复所有未定义的变量,但我不知道为什么所有位置都返回为未定义。

变量是未定义的,因为变量不存在,因为只有在选中复选框时才开始声明变量。但是,我建议不要为每个位置声明单个变量。您最好遍历页面上的所有复选框,并快速模拟(这可能会有所帮助):

您应该在它上面
encodeURIComponent()
。但这些变量在我看来是未定义的,可能是因为你们在if语句中声明了守门员变量。这就是为什么PreferedPositions无法读取该变量。尝试在if语句外声明守门员变量。真的,现在每个人都应该使用。阅读示例。噢,与一起使用。@StackSlave这不只是一个检查复选框是否被选中的问题吗?如果是,那么我给变量分配一个字符串。在我看来,它的错误比较少,所以我不知道为什么变量应该是未定义的。另外,我不确定我是否理解encodeURIComponent()在这种情况下的用途(我不知道它几乎没用过,但据我所知,它只是对字符串进行编码)。您应该包括相关代码。不要指望我们通读你所有的网页。
$.ajax({
      type: "POST",
      url: "registration.php",
      data: {
            PostPreferedPositions: PreferedPositions
      },
success: function (res) {}
});