2013-06-05 158 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; 
} 
}