我创建了这个函数,它检查多个文本框是否有值onsubmit。基本上它是一个javascript表单验证器。当有空文本框时,表单不应提交并提醒用户有必填字段。现在,这对我来说非常适合,但是,当已经有值并且表单已提交时,即使应该提交,它仍然无法提交。我创建了一个if语句来检查errorString是否为空或者为null,如果是,则表单应该提交,但会发生的是它用空字符串提醒用户。我认为代码仍然在if(errorString!= null || errorString ==“”)语句中,即使它不应该。
提前致谢
请参阅下面的代码:
function validateForm()
{
var txtTitle = document.forms["actionStepsForm"]["txtTitle"].value;
var txtRequestor = document.forms["actionStepsForm"]["txtRequestor"].value;
var txtReprocessingRequest = document.forms["actionStepsForm"]["txtReprocessingRequest"].value;
document.getElementById('rowCount').value = counter-1;
var errorString = "";
if (txtTitle==null || txtTitle=="")
{
errorString += "Title field is required. \n";
}
if (txtRequestor==null || txtRequestor=="")
{
errorString += "Requestor field is required. \n";
}
if (txtReprocessingRequest==null || txtReprocessingRequest=="")
{
errorString += "Reprocessing request FR is required. \n";
}
if (errorString!=null || errorString!="")
{
alert(errorString);
return false;
}
else
{
return true;
}
}
//implementation if HTML form
<form name="actionStepsForm" id="actionStepsForm" action="add_reprocessing.php?action=add" method="POST" onsubmit="return validateForm()">
答案 0 :(得分:0)
我认为正确的条件应该是
if (errorString != null && errorString != "")
否则引擎会评估'errorString!= null'条件,该条件的计算结果为true(因为errorString为“”而非null),并输入代码块。
答案 1 :(得分:0)
更改
if (errorString!=null || errorString!="")
到
if (errorString!=null && errorString!="")
答案 2 :(得分:0)
你有两个'not'语句相互抵消(一个必须总是假的)。将其更改为:
if (errorString!=null && errorString!="")
{
alert(errorString);
return false;
}
else
{
return true;
}
答案 3 :(得分:0)
每个人都指出错误的一句话:
if (errorString!=null || errorString!="")
但是我想指出你不需要来检查errorString!=null
,因为你已经在开头创建了一个空字符串变量你的代码:
var errorString = ""; //created errorString as empty string
因此它实际上永远不会是null
,因为你从未在任何地方将它设置为null(也就是说,你从未将其设置为errorString = null
)。
如果没有错误,则始终为空字符串。所以这就足够了:
if (errorString!="") //if errorString is different than what we created at `var`
{
alert(errorString);
return false;
}
else
{
return true;
}
答案 4 :(得分:0)
errorString永远不能为null因为你用“”初始化它所以你可以删除条件“errorString!= null”。
它应该成为
if (errorString!="")
{
alert(errorString);
return false;
}
else
{
return true;
}
答案 5 :(得分:0)
您可以使用波纹管代码检查所有四(4)个条件以进行验证,如非空,非空白,未定义,而不是零只在javascript和jquery中使用此代码(!(!(variable)))。
function myFunction() {
var errorString; //The Values can be like as null,blank,undefined,zero you can test
if(!(!(errorString))) //this condition is important
{
alert("errorString"+errorString);
}
else
{
alert("errorStringis "+errorString);
}
}