调用onLoad()的方法的Javascript验证

调用onLoad()的方法的Javascript验证,javascript,forms,jsp,Javascript,Forms,Jsp,我有一个只有几个文本字段和下拉列表的表单 我正在调用一个方法onLoad,验证该方法中的文本字段和下拉列表 用户必须从下拉列表中选择一个选项 下拉列表不应为空,因此我有一个类似于if(empList==“”)的条件,如果它为空,将弹出一个警告,说明不应为空 现在,实际的问题是,一旦我进入该页面,在我选择任何选项之前,警报就会弹出,正如我在onLoad中给出的那样 我应该如何验证该字段??(我应该强制将该方法称为onLoad)如果要在对选择进行更改后立即进行验证,则需要从select标记的onch

我有一个只有几个文本字段和下拉列表的表单

我正在调用一个方法
onLoad
,验证该方法中的文本字段和下拉列表

用户必须从下拉列表中选择一个选项

下拉列表不应为空,因此我有一个类似于
if(empList==“”)
的条件,如果它为空,将弹出一个警告,说明不应为空

现在,实际的问题是,一旦我进入该页面,在我选择任何选项之前,警报就会弹出,正如我在
onLoad
中给出的那样


我应该如何验证该字段??(我应该强制将该方法称为onLoad)

如果要在对选择进行更改后立即进行验证,则需要从
select
标记的
onchange
事件调用验证方法

实际上,最好的办法是在用于提交表单的
按钮标记的
onclick
事件中调用您的验证函数,在这种情况下,确保不将其类型设置为
提交
,而是将其设置为
按钮
,这样,在进行验证之前,表单不会自动提交

然后在验证方法中,如果一切正常,则通过执行以下操作手动提交表单:

document.forms["myform"].submit();

您必须在提交表单时填写所有验证信息

<FORM 
     ACTION="../...jsp"
     NAME="testform" 
     onSubmit="return validate()"
     >
</form>

如果表单填写不正确,最好使用异步验证来显示警报或信息,而不是使用强制弹出窗口


一些框架插件可以本机完成这项工作:看看这里,例如:

为什么不能从另一个事件调用它?也许你只需要从下拉列表中删除一个空项,这样就不需要在onload中进行验证。为onchange添加一个eventListener,并使用callback作为表单验证函数。