页面在提交点击时刷新

时间:2014-10-26 09:27:39

标签: javascript validation

我的表单上有多个验证..当我输入错误的数据并点击提交按钮时,它会显示错误消息一秒钟,页面会刷新。这只是很少的功能。还有其他功能也是..单独的,他们工作正常。但是当我尝试全部运行时,它不起作用。

的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代码。

3 个答案:

答案 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;}
  }