似乎在进行某些验证方面遇到了一些麻烦。
目前正在尝试实现一个系统,如果变量为false,将重定向用户,并且表单包含0000或1111.
示例:
if xml_response == "false" && form == ("0000" || "1111") {
window.location.replace("");
} else {
submit.form
}
我已经能够让它在0000工作。如果XML生成false,表单包含0000,则成功重定向。
如果XML生成false并且form包含1111,则没有骰子。我认为这与我如何格式化我的运营商有关。有什么想法吗?
这是我的陈述:
if (response == "false" && document.forms['Form'].id.value==("0000" || "1111") ) {
window.location.replace("http://url/");
} else {
document.getElementById("submit_form").submit();
}
答案 0 :(得分:2)
这是无效的,您必须单独检查每个值
if ((xml_response == "false") && (form == "0000" || form == "1111")) {
window.location.replace("");
} else {
submit.form
}
请注意,您正在检查字符串false和看起来像数字的字符串。
还可以选择检查数组中的多个值
if (
( response == "false" ) &&
( ['0000','1111'].indexOf(document.forms['Form'].id.value) != -1 )
)
{
window.location.replace("http://url/");
} else {
document.getElementById("submit_form").submit();
}
甚至
/(0000|1111)/.exec(document.forms['Form'].id.value)
答案 1 :(得分:0)
请注意:
document.forms['Form'].id.value
将尝试在文档中找到名称或ID为" Form"的表单。如果找到一个,它将访问它的ID属性,这是一个字符串,并尝试读取它的 value 属性。字符串没有"值"属性,因此结果将是值 undefined 。