2014-03-12 55 views
0

我正在製作一個註冊表單,其中php代碼和html表單在同一個頁面中,並且我還有一個驗證字段的java腳本,但如果驗證是完成後,我需要通過調用php發佈數據並提交數據庫如何使用表單提交一個php函數

if(isset($_POST['Name'])){ 
$order = "INSERT INTO `reg_form`(`Name`) VALUES ('$_POST[Name]')"; 
$result = mysql_query($order, $db2); 
if (!$result) { 
    echo("<br>Input is failed"); 
} else { 
    echo 'Regestered successfully !!!'; 
} 
} 

<form name="register" id="register" class="b1 f_l" action="register.php" method="post"> 
<div class="input-group" style="padding-top: 20px;"> 
    <span class="label_1">Name </span> 
    <input type="text" class="inp_t" placeholder="Your Name" name="Name" id="name" required> 
</div> 

<div style="padding-top: 20px;"> 
    <button type="submit" class="btn btn-primary register" value="submit" >Submit</button> 
</div> 
</form> 

<script language=JavaScript> 
$('#register').validator() 
    .submit(function(e){ 
     var form = $(this); 
     var valid = form.validator({messageClass: "alert alert-danger validate_error", position: 'center right'}); 
     if (valid.data("validator").checkValidity()){ 
      alert('not working'); 
     }// VALID 
     e.preventDefault(); 
     return false; 
});// SUBMIT  
</script> 
+0

您是否獲得了'不working'消息驗證功能? – SajithNair

+0

是的,我得到 – user2926947

回答

0

你應該在你的JS函數中寫一些「return true」來提交表單。如果驗證成功,那麼從你的JS函數返回true

+0

他還不得不調用'e.preventDefault()'。 – Barmar

1

所以你只需要阻止默認動作如果窗體未正確驗證:

if (valid.data("validator").checkValidity()) 
{ 
    // Assuming this means Validation failed 
    alert('not working'); 
    e.preventDefault(); 
    return false; 
} 
else 
{ 
    // It's working, let the submission go through 
    return true; 
} 

現在,你需要給你的提交按鈕的名稱以便PHP可以知道它

<button type="submit" name='submit-btn' class="btn btn-primary register" value="submit" >Submit</button> 

最後,您需要更新您的PHP腳本來處理表單提交。在您的register.php文件的頂部 將這個腳本,因爲這就是你的形式提交,並因爲你通過POST提交,檢查後陣列:

      // Submit button value check here 
if(isset($_POST['submit-btn'] && $_POST['submit-btn'] == "submit") 
{ 
    // Handle your form submission here 
    // Read the data from the $_POST array using the name you gave to the form elements 
    // Create a database connection and store your data in the database 
} 
0

你必須只調用event.preventDefault()當驗證失敗。所以把它移到else子句。

<script language=JavaScript> 
$('#register').validator() 
    .submit(function(e){ 
     var form = $(this); 
     var valid = form.validator({messageClass: "alert alert-danger validate_error", position: 'center right'}); 
     if (valid.data("validator").checkValidity()){ 
      alert('not working'); 
      return true; 
     }// VALID 
     else { 
      e.preventDefault(); 
      return false; 
     } 
});// SUBMIT  
</script> 
0

呼叫使用onClick="validate()"當驗證成功,提交表單與document.getElementById("register").submit();