我的表单上有多个验证..当我输入错误的数据并点击提交按钮时,它会显示错误消息一秒钟,页面会刷新。这只是很少的功能。还有其他功能也是..单独的,他们工作正常。但是当我尝试全部运行时,它不起作用。
的javascript:
function req()
{
if (document.reg_indi_form.txt_fnm.value=="")
{
document.getElementById('i').innerHTML="*This field is required";
document.getElementById('i').style.color="red";
document.getElementById('i').style.fontSize="12px";
}
if (document.reg_indi_form.txt_lnm.value=="")
{
document.getElementById('i1').innerHTML="*This field is required";
document.getElementById('i1').style.color="red";
document.getElementById('i1').style.fontSize="12px";
}
return false;
}
function validateUname() {
submitFlag = true;
var len=document.reg_indi_form.txt_usrnm.value.length;
if(len<6){
submitFlag=false;
document.getElementById('i2').innerHTML="*enter atleast 6 char";
document.getElementById('i2').style.color="red";
}
return submitFlag;
}
function alls()
{
req();
validateUname();
}
HTML:
<form name="reg_indi_form" method="post" onSubmit="return alls()" enctype="multipart/form-data">
我的文件中还有php代码。
答案 0 :(得分:1)
将您的功能alls()
更改为:
function alls()
{
return req() && validateUname(); // Your function must return false otherwise it will be considered as true
}
每当你绑定事件&amp;想要停止传播,只返回false(你正在做)但你的函数alls()
没有返回任何不会进一步停止事件传播的东西。
答案 1 :(得分:0)
您的functions alls()
没有return
声明,因此会返回undefined
。阻止默认操作的唯一返回值是false
。任何其他返回值(包括undefined
)都允许执行默认操作。
将你的函数alls()更改为:
function alls() {
req();
return validateUname();
}
答案 2 :(得分:0)
在函数alls()
中function alls()
{
return req() && validateUname(); // Equivalent to-- if(req() && validateUname()) {return true;} else{ return false;}
}