我正在开发一个Web应用程序,我在其中创建了一个表单,并在表单的onSubmit事件中调用了一个java脚本函数,该函数将检查“字段必须不留空”条件,如果它是空白的表单不得发布,所以我写了以下代码:
Jsp页面表格
<form action="Result.jsp" name="validityCheck" onsubmit="return fnCheckEmptyField();">
<input type="text" name="txtIIDN" id="txtIIDN" style="font-size:medium;" onkeypress="return fnKeyPress(event)"/>
<input type="submit" id="btnValidityCheck" value="Check Validity" />
</form>
Javascript代码如下
<script>
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;
}
}
</script>
当我尝试提交表单时,javascript函数被执行,然后表单将被发布,无论返回值是true还是false。 我不想在返回值为false时提交表单,即当字段为空时
以及onsubmit事件中的条件onsubmit =“return fnCheckEmptyField();显示错误 无法从外部返回功能或方法。
你能弄清楚我提出的错误是什么,可能的解决办法吗?
答案 0 :(得分:0)
删除表单上的onsubmit事件,然后在提交按钮HTML中输入
<input type="submit" id="btnValidityCheck" value="Check Validity" onclick="return fnCheckEmptyField();" />
答案 1 :(得分:0)
除了Furqan所说的,您应该使用按钮和onclick事件来检查表单,如果表单有效,则在表单上调用.submit()。
我倾向于甚至不使用提交按钮,我只有一个普通的按钮,并让它运行javascript ...然后javascript提交表单。
示例(HTML提交按钮):
<button id="btnValidityCheck" value="Check Validity" onclick="return fnCheckEmptyField();">Click Here</button>
Javascript功能:
function fnCheckEmptyField() {
var strDomain= document.getElementsByName("txtIIDN").value;
if(strDomain == "") {
document.getElementById("lblValidityStatus").innerHTML="Domain Name Field Can't be Left Blank";
}
else {
document.getElementById("myFormId").submit();
}
}
请注意,如果javascript认为表单有效,那么它将提交您的表单。您需要为表单标记定义一个id才能生效。
另外,我将== null检查更改为==“”......可能导致问题...
干杯!