【发布时间】:2013-06-04 13:40:12
【问题描述】:
我有一个通过submit 按钮提交的表单。单击它时,它会执行 java 脚本验证并在文本框下显示错误字段。因此,如果有错误,控件将返回到同一页面。我的问题是,在表单发布后,我不断看到两个错误字段,我需要删除一个并只保留一个。
为此,我从提交按钮调用了一个点击函数,我试图找出错误 div id 是否存在如下:
<input type="image" name="submit" onclick = 'checkErrors()'>
现在在checkErrors() 方法中:
function checkErrors(){
var errorElem1 = document.getElementById('errField1');
var errorElem2 = document.getElementById('errField2');
if((errorElem1 != null) && (errorElem2 != null)){
alert("Two error fields.");
errorElem2.style.display='none';
}
}
现在,我在这里找不到警报,一旦我点击按钮。
所以我删除了 if 条件并将其保留为:
function checkErrors(){
var errorElem1 = document.getElementById('errField1');
var errorElem2 = document.getElementById('errField2');
errorElem2.style.display='none';
}
}
现在,我在 firebug 控制台中看到错误:elem2 is null。这意味着 onclick 正在执行,然后只发生表单发布,因此在 onclick 后永远找不到 elem2。
表单提交为:
<form name="IntitalJspPage" method="post" action="Controller" onsubmit="validate(this); return false;">
现在我可以在这里做什么来在提交表单并且在页面上呈现错误字段后调用 onclick?
【问题讨论】:
-
并非如此,实际上会发生异步 ajax 验证,如果出现错误,则同一页面会在错误字段中加载错误。所以基本上在提交表单时,同一个页面会加载 ajax 后验证。
-
异步ajax验证?那是什么,它在您提供的代码中的什么位置?
-
问题不在于
ajax validation。更重要的是,在提交表单并在同一页面中加载内容后,我是否可以调用onclick。 -
查看我的更新答案
-
@MaVRoSCy 让我看看。我会尽快回复您 。谢谢。
标签: javascript forms jsp post onclick