【发布时间】:2019-04-25 10:52:44
【问题描述】:
所以我必须在this soccer website 那里有一个复选框列表(我是注册)来选择首选位置。例如,当有人输入中心攻击复选框和守门员复选框时,我想向我发送所选位置的列表。如您所见,这是一张带有每个位置的复选框列表的图片
所以我使用此代码查看是否选中了相关复选框(每个复选框/位置都重复):
if (document.getElementById("goalie").checked == true) {
var Goalie = "Goalie";
};
然后,我将所有字符串与:
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) {}
});
但是当我测试它时,电子邮件出来了:
“首选位置:undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined undefined.”
如果我没有选中任何复选框,我理解所有未定义的内容。但无论我选择了多少复选框,都会发生这种情况。就像我选择了守门员和中锋一样,我会期望:
“首选位置:守门员 undefined undefined undefined undefined undefined undefined undefined undefined 中锋-进攻 undefined。”
但事实并非如此。我知道我可以通过在语句中添加 else if 来轻松修复所有未定义的问题,但我不知道为什么所有位置都返回为未定义。
【问题讨论】:
-
你应该
encodeURIComponent()就可以了。但这些变量在我看来undefined。 -
可能是因为您在 if 语句中声明了 Goalie 变量。这就是为什么 PreferedPositions 无法读取该变量的原因。尝试在 if 语句之外声明 Goalie 变量。
-
@StackSlave 不只是一个检查复选框是否被选中的问题,如果是,那么我将一个字符串分配给变量。对我来说,它看起来几乎没有错误,所以我不知道为什么 vars 应该是未定义的。另外,我不确定我是否理解在这种情况下 encodeURIComponent() 有什么用(几乎没有使用它,所以我不知道,但据我所知,它只是对字符串进行编码)。
-
您应该包含相关代码。不要指望我们会通读您的所有网页。
标签: javascript php html checkbox