我正在尝试将这两个功能结合起来:
function validateForm() {
var x = document.forms["form1"]["condition1"].value;
var y = document.forms["form1"]["condition2"].value;
var z = document.forms["form1"]["condition3"].value;
if (x == null || x == "") {
alert("Please enter a 'condition1' value");
return false;
}
if (y == null || y == "") {
alert("Please enter a 'condition2' value");
return false;
}
if (z == null || z == "") {
alert("Please enter a 'condition3' value");
return false;
}
}
// Form Validation for pages with no 'condition2' option
function validateForm2() {
var x = document.forms["form1"]["condition1"].value;
var z = document.forms["form1"]["condition3"].value;
if (x == null || x == "") {
alert("Please enter a 'condition1' value");
return false;
}
if (z == null || z == "") {
alert("Please enter a 'condition3' value");
return false;
}
}
validateForm()检查condition1,condition2和condition3是否已成功输入Form1,如果没有则提醒用户。
使用Form1的某些页面没有条件2.
因为它没有'condition2'输入的页面不起作用。一个非常简单的解决方法是只创建一个几乎相同的函数validateForm2(),其中省略了'condition2'。然后我必须经历并排序哪些页面需要哪个功能。
<form name="form1" onsubmit="return validateForm()">
或
<form name="form1" onsubmit="return validateForm2()">
我正在试图看看我是否可以通过在页面实际上只需要'condition2'来组合这两个函数。
答案 0 :(得分:1)
<form name="form1" onsubmit="return validate();">
In your javascript
function validate()
{
if(required_condition_both)
{
return validateForm();
}
else if(required_condition1_only)
{
return validateForm2();
}
}
答案 1 :(得分:1)
您只能使用一个validateForm函数
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 == "") {
alert("Please enter a 'condition1' value");
return false;
}
if (isPresentCond2) {
y = document.forms["form1"]["condition2"].value;
if (y == null || y == "") {
alert("Please enter a 'condition2' value");
return false;
}
}
if (z == null || z == "") {
alert("Please enter a 'condition3' value");
return false;
}
}