无法从函数或方法外部返回?

在开发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个错误。

  1. getElementsByName()调用不正确。
    var strDomain = document.getElementsByName("txtIIDN").value;

要通过ID检索元素,您需要getElementById()

    var strDomain = document.getElementById("txtIIDN").value;

  1. 空值不是null,而是空字符串。
    if (strDomain == null)

您需要检查其长度。

    if (strDomain.length == 0)

或者只是利用JS布尔魔术。

    if (!strDomain)

顺便说一句,document.getElementById("lblValidityStatus").innerHTML =

"";此代码中该行是不必要的。

以上是 无法从函数或方法外部返回? 的全部内容, 来源链接: utcz.com/qa/414236.html

回到顶部