2013-06-05 120 views
0

网站:http://bit.ly/15JAx04停止重新加载页面的JavaScript表单验证

上面的链接有在页面底部的形式。当提交withut值/无效值页面验证重新加载页面。我怎样才能让它显示红色的验证错误,并保持在底部而无需重新加载到页面顶部?下面是我知道的这个页面的唯一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; 
  
} 
+0

防止默认提交表单的事件。使用javascript的 –

+0

确实是关键。尽管一个快速的提示:如果你的任何用户控件或控件改变了名字,你的整个JavaScript将被丢弃......你可能想要使用“clientId”属性等 –

+0

你应该做'var name = $('#名')VAL(); if(name =='Full name'|| $ .trim(name)==''){}' –

回答

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; 
}); 

但是不要忘记删除从onclick处理程序提交按钮Check()电话,你会在这种情况下,重复的错误消息。

0

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

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

使用此方法 - >

在你的形式给予行动= “止逆();”

如果检查()是在JavaScript函数,

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