在javascript表单验证时停止页面重新加载

时间:2013-06-05 16:34:53

标签: javascript jquery html5

网站:http://bit.ly/15JAx04

上面的链接在页面底部有一个表单。当提交了值/无效值时,页面验证会重新加载页面。如何才能显示红色验证错误并保留在底部而不重新加载到页面顶部?我知道的这个页面的唯一JS就在下面。

    function Check()
{  
  
  var returnValue = true;
  
  if ($('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_name').val() == 'Full name')
  {      
      $('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_name').val(''); 
      returnValue = false;
  }  
  
  if ($('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_company').val() == 'Company')
  {      
      $('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_company').val(''); 
      returnValue = false;
  }  
  
  if ($('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_email').val() == 'Email')
  {      
      $('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_email').val(''); 
      returnValue = false;
  }  
  
  if ($('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_phone').val() == 'Phone (optional)')
  {      
      $('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_phone').val('');       
  }  
  
  if ($('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_message').val() == 'Your message')
  {      
      $('#dnn_ctr612_XModPro_ctl00_ctl00_ctl00_message').val(''); 
      returnValue = false;
  }  
  
  return returnValue;
  
 }

3 个答案:

答案 0 :(得分:1)

使用此方法 - >

在表单中给出action =“return check();”

其中check()是javascript中的函数,

Function check()
{
if(your_form_values_condition)
{
return true;
}
else
{
alert("Please fill form correctly!");
return false;
}
}

答案 1 :(得分:0)

您需要在内联事件处理程序中接受return

您的代码中包含:

<input type="submit" name="dnn$ctr632$XModPro$ctl00$ctl00$ctl00$ctl11" value="Send" onclick="Check();Web...

但你需要

<input type="submit" name="dnn$ctr632$XModPro$ctl00$ctl00$ctl00$ctl11" value="Send" onclick="Web...; return Check();">

或者将Check()函数添加到<form>元素中。

<form onsubmit="return Check();">

因此,仅当Check()函数返回true时才会提交表单。

或者使用jQuery和这个简单的代码:

$( '#Form' ).submit( function() {
    if( Check() ) return true;
    else return false;
});

但请不要忘记从Check()处理程序中的“提交”按钮中删除onclick调用,因为在这种情况下您将遇到重复的错误消息。

答案 2 :(得分:0)

像这样使用onclick="return Check()" -

<input type="submit" name="dnn$ctr632$XModPro$ctl00$ctl00$ctl00$ctl11" value="Send" onclick="return Check()"