onsubmit 验证多个 funciton后提交问题?
答案:4 悬赏:70
解决时间 2021-02-03 13:20
- 提问者网友:冷场帝
- 2021-02-03 08:31
js如下:funciton checkForm(){if(){//function a和function b都为TRUEreturn true;}else{return false;}} funciton a(){//验证用户名if(){//成功return true;}else{//DIV显示错误内容return false;}}funciton b(){//验证密码if(){//成功return true;}else{//DIV显示错误内容return false;}} JSP代码如下: 由于在输入框失去焦点后马上进行验证,所以用到多个funciton,而最后表单提交时onsubmit的checkForm()需要所有funciton()都返回true,才能让表单提交,如何实现checkForm()的功能?或者如何将其他funciton()整合成一个funciton()而不影响text在失去焦点时的DIV显示功能?万分感谢!
最佳答案
- 二级知识专家网友:随心随缘不随便
- 2021-02-03 09:22
funciton checkForm(){if(a() && b()){//function a和function b都为TRUEreturn true;}else{return false;}} 如果再有c,d,e也是同样道理:if(a() && b() && c() && d() && e() ) 每项都单独一个function,然后总的再用checkForm,只需要在checkForm验证一下所有的function是否为true即可所以你和第一种方法是正确的,而且必需这样处理的;function checkForm(){if(a() && b() && c() && d() && e() ){return true;}else{return false;}} 你的不成功是因为取值方法是错的:正确的为:var num=document.getElementById("cnum").value;
var score=document.getElementById("cscore").value;
var sub=document.getElementById("csub").value;
另外还有一个问题:chechNum(num)里面,你的参数是一个对像,而你在checkForm里给的确是一个值;你可以改为:var num=document.getElementById("cnum");
var score=document.getElementById("cscore");
var sub=document.getElementById("csub");
var score=document.getElementById("cscore").value;
var sub=document.getElementById("csub").value;
另外还有一个问题:chechNum(num)里面,你的参数是一个对像,而你在checkForm里给的确是一个值;你可以改为:var num=document.getElementById("cnum");
var score=document.getElementById("cscore");
var sub=document.getElementById("csub");
全部回答
- 1楼网友:一起来看看吧
- 2021-02-03 12:26
我把全面的回答删除了,重新给楼主一个清晰的思路吧。 1、你的onSubmit="return checkForm(this);"是正确的,一定要在函数名前加上return 这样在函数内任意位置出现return false时可以自动终止函数。2、2个判断集中在1个函数checkForm内。 function checkForm(){ //写个大概意思 具体语句请楼主完善 if (num1==""){display1=block; return false;} if (num2==""){display2=block; return false;} return true;} 由于调用时加上了return checkForm();所以执行到js里的return false的时候就不会继续往下执行了;如果一直未被中断则执行到最后提交表单。
- 2楼网友:陪衬角色
- 2021-02-03 10:50
我把全面的回答删除了,重新给楼主一个清晰的思路吧。 1、你的onSubmit="return checkForm(this);"是正确的,一定要在函数名前加上return 这样在函数内任意位置出现return false时可以自动终止函数。
- 3楼网友:温柔刺客
- 2021-02-03 10:18
onsubmit这个事件是在表单提交时调用的,也就是当你点击提交按钮时,才会触发这个事件。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯