2012-09-21 29 views
2

我正在創建一個頁面,用於從表格中提取數據並在文本框中顯示數據以允許用戶更新記錄。我也驗證用戶輸入到文本框。但問題是當用戶沒有更改任何字段並單擊提交時,它會驗證用戶名字段,即它總是希望更改(或編輯文本框)文本框的值。驗證更新表格

這裏是我的代碼:這行的末尾

<?php 
include("conn.php"); 
$id=$_GET['id']; 
$sql="SELECT * FROM test WHERE id='$id'"; 
$res=mysql_query($sql); 
$row=mysql_fetch_array($res); 
?> 

<script type='text/javascript'> 
function formValidator() 
{ 
    // Make quick references to our fields 
    alert("hiiiiiii"); 
    var name = document.getElementById('name').value; 
    var email = document.getElementById('emailid').value; 
    var ph = document.getElementById('ph').value; 

    if(name=="" || name==null) 
    { 
     alert("Please Enter user name"); 
     return false; 
    } 
    var alphaExp = /^[a-zA-Z]+$/; 
    if(!name.match(alphaExp)) 
     { 
      alert("please Enter only Alphabates for Name"); 
      return false; 
     } 

     if(email=="" || email=="null") 
     { 
      alert("Please Enter Email Address"); 
      return false; 
     } 
     var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/; 
     if(!email.match(emailExp)) 
     { 
      alert("please Enter valide email address"); 
      return false; 
     } 
     if(ph=="" || ph=="null") 
     { 
      alert("Please Enter Phone Number"); 
      return false; 
     } 
     var numericExpression = /^[0-9]+$/; 
     if(!ph.match(numericExpression)) 
     { 
      alert("Enter only Digit for Phone Number"); 
      return false; 
     } 
} 
</script> 


<form name="updateform" method="POST" action="update_ind_new.php" onsubmit='return formValidator()'> 
    <table width="200" border="0"> 
    <tr> 
    <td>User Name</td> 
     <td>E-Mail</td> 
     <td>phno</td> 
    </tr> 
    <tr> 
    <td><label> 
     <input name="name" type="text" id="name" value=" <?php echo $row['name']; ?>" > 
     </label></td> 
     <td><label> 
     <input name="email" type="text" id="emailid" value=" <?php echo $row['emailid']; ?>" > 
     </label></td> 
     <td><label> 

     <input name="ph" type="text" id="ph" value=" <?php echo $row['phno']; ?>" > 
     </label></td> 

    </tr> 
    <tr> 
     <td> <input name="id" type="hidden" id="id" value=" <?php echo $row['id']; ?>"></td> 
     <td><label> 
     <input type="submit" name="Submit" value="Submit"> 
     </label></td> 
     <td>&nbsp;</td> 
    </tr> 
    </table> 
</form> 
+0

那麼如果y我們的價值觀來自數據庫,所以他們必須通過驗證才能進入。所以在重新驗證它們時不應該有任何問題。 –

+0

您是否使用Firebug檢查輸入值? – Littm

+0

我不清楚你的問題,但是爲什麼你在所有value value之前放置空格=「<?php echo $ row ['name'];?>」>。根據formValidator() –

回答

2

return true;

if(!ph.match(numericExpression)) 
    { 
     alert("Enter only Digit for Phone Number"); 
     return false; 
    } 
    return true; 
1

return true;在所有條件驗證功能

或將結束「if else if else」條件下的驗證