无法从函数或方法外部返回?
在开发Web应用程序时,我要执行某些验证检查,只有在验证成功后,我才需要发布表单并将控件重定向到下一页。
JavaScript代码:
function fnCheckEmptyField(){
var strDomain = document.getElementsByName("txtIIDN").value;
if (strDomain == null)
{
document.getElementById("lblValidityStatus").innerHTML = "";
document.getElementById("lblValidityStatus").innerHTML = "Domain Name Field Can't be Left Blank";
return false;
}
else
{
return true;
}
}
相关的HTML代码:
<form action="Result.jsp" name="validityCheck" onsubmit="return fnCheckEmptyField()"> <input type="text" id="txtIIDN"/>
<input type="submit" id="btnValidityCheck" value="Check Validity" />
</form>
该行onsubmit="return fnCheckEmptyField()"
显示错误: 无法从函数或方法外部返回,
并且在提交JavaScript函数表单之后,无论文本字段是否为空,都无法提交。
我已将警报放置在if
条件中,并且可以确保如果字段为空,则函数将返回false
。
我不知道我的代码有什么问题,为什么 无法从函数或方法外部返回 此错误?
原因是什么,我该如何解决?
回答:
onsubmit="return fnCheckEmptyField()"
显示错误的行无法从函数或方法外部返回
这是特定于Eclipse的。Eclipse在这里是错误的,那行是完全可以的。只需忽略Eclipse错误。如果需要,可以随时禁用其JS验证。
并且在执行Java脚本功能表单后,无论文本字段是否为空白,都将提交提交。
那是因为您的JavaScript函数是错误的。您的JS代码中有2个错误。
- 该
getElementsByName()
调用不正确。var strDomain = document.getElementsByName("txtIIDN").value;
要通过ID检索元素,您需要getElementById()
。
var strDomain = document.getElementById("txtIIDN").value;
- 空值不是
null
,而是空字符串。if (strDomain == null)
您需要检查其长度。
if (strDomain.length == 0)
或者只是利用JS布尔魔术。
if (!strDomain)
顺便说一句,document.getElementById("lblValidityStatus").innerHTML =
"";此代码中该行是不必要的。
以上是 无法从函数或方法外部返回? 的全部内容, 来源链接: utcz.com/qa/414236.html