我正在使用此功能来验证表单。提交表单时会触发“onsubmit”。 isPresentCond2确定是否存在“条件2”(站点上的某些表单没有条件2输入)。如果发现输入为null或空字符串,则会向用户发出警报并触发按钮。它适用于除safari之外的所有浏览器。
在Safari中,它会将x返回为false并触发确认“请输入x”
没有错误消息。
function validateForm() {
var isPresentCond2 = document.forms["form1"]["condition2"],
x = document.forms["form1"]["condition1"].value,
y,
z = document.forms["form1"]["condition3"].value;
if (x == null || x == "") {
confirm("Please enter a condition1 value");
$("#Button1").trigger("click");
return false;
}
if (isPresentCond2) {
y = document.forms["form1"]["condition2"].value;
if (y == null || y == "") {
confirm("Please enter a condition2 value");
$("#Button2").trigger("click");
return false;
}
}
if (z == null || z == "") {
confirm("Please enter a condition3 value");
$("#button3").trigger("click");
return true;
}
}
样本表格:
<form name="form1" action="results.php" onsubmit="return validateForm(this)" method="post>
<input type="radio" name="condition1" value="1">
<input type="radio" name="condition1" value="2">
<input type="radio" name="condition1" value="3">
<input type="radio" name="condition2" value="1">
<input type="radio" name="condition2" value="2">
<input type="radio" name="condition2" value="3">
<input type="radio" name="condition3" value="1">
<input type="radio" name="condition3" value="2">
<input type="radio" name="condition3" value="3">
<button type="submit" class="btn-xl btn-success btn-block">See Results <span class="glyphicon glyphicon-circle-arrow-right"></span></button>
if语句应该更像这样吗?
if (!X) ....
是否有明显的原因导致此功能导致Safari出现问题?
感谢。