2016-02-10 136 views
0

我想提交我的表單到數據庫中。當我點擊提交按鈕時,它沒有插入任何記錄並被禁用。 當我看到我的控制檯,我觀察到了這種提交按鈕顯示異常行爲

的代碼行

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

變化

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

我怎樣才能解決這個問題?

我會很高興地回答+1。 Thanx提前

完整代碼:

<?php 
include 'includes/db_connection.php'; 
if (isset($_POST['submit'])) { 
$firstname = $_POST['firstname']; 
$sql1 = "INSERT INTO student (firstname) VALUES ('$firstname')"; 

$res1 = mysqli_query($conn, $sql1); 
if ($res1) { 
echo 'succ'; 
// header("Location: successful_message.php"); 
} else { 
echo 'fail'; 
// header("Location: valid_test.php"); 
} 
} else { 
?> 
<!DOCTYPE html> 
<html lang="en"> 

<head> 

<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
<!-- 
<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css"> 
--> 
<link rel="stylesheet" href="http://formvalidation.io/vendor/formvalidation/css/formValidation.min.css"> 
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script src="http://formvalidation.io/vendor/formvalidation/js/formValidation.min.js"></script> 
<script src="http://formvalidation.io/vendor/formvalidation/js/framework/bootstrap.min.js"></script> 

<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" type="text/ecmascript"></script> 

    <title>Form</title> 
</head> 
<body> 
    <form id="contactForm" method="post" class="form-horizontal"> 

    <div class="form-group"> 
     <label class="col-xs-3 control-label">Full name</label> 
     <div class="col-xs-4"> 
     <input type="text" class="form-control" name="firstname" placeholder="First name" /> 
     </div> 
    </div> 


    <div class="form-group"> 
     <div class="col-xs-9 col-xs-offset-3"> 
      <button type="submit" value="submit" class="btn btn-primary" name="submit">Submit</button> 
     </div> 
    </div> 
    </form> 
<?php } ?> 

<script> 
    $(document).ready(function() { 



    $('#contactForm') 
      .formValidation({ 
       framework: 'bootstrap', 
       icon: { 
       valid: 'glyphicon glyphicon-ok', 
       invalid: 'glyphicon glyphicon-remove', 
       validating: 'glyphicon glyphicon-refresh' 
       }, 
       fields: { 
       firstname: { 
        validators: { 
        notEmpty: { 
         message: 'The first name is required' 
        }, 
        regexp: { 
         message: 'Name only contains Letter', 
         regexp: /^[A-Z a-z]*$/ 
        } 
        } 
       }, 


       } 

      }); 


    }); 
</script> 
</body> 
</html> 
+0

太模糊以給出正確的響應,但是也許您的表單驗證插件在表單數據對其標準無效時禁用按鈕? – phenxd

+0

@phenxd 我想在數據庫中插入一個簡單的值。 驗證可以防止我輸入任何數字,但是當我提交時,我會面臨錯誤 –

回答

0

這是您的特定表單驗證庫的問題。 According to the FormValidation.io FAQ他們不允許命名提交按鈕「提交」。您應該只需更改提交按鈕的名稱屬性即可。

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

您還必須更新您的PHP才能查看按鈕的新名稱而不是$ _POST ['submit']。

+0

superbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb !!! .. 你是搖擺人! :) .. –

+0

thanxxxxxxxxxxx很多:) –

0

嗯,有兩件事情,似乎不正確的位置。一,您的形式HTML不會出現與jQuery的validate兼容,並且我認爲你需要使用.validate.formValidation,我甚至不能確定是否存在...

我建議在格式化你的HTML作爲:

<form id="contactForm" method="post" class="form-horizontal"> 
    <fieldset> 
     <p> 
      <label class="col-xs-3 control-label">Full name</label> 
      <input type="text" class="form-control" name="firstname" placeholder="First name" /> 
     </p> 
     <p> 
      <input class="submit" type="submit" value="Submit"> 
     </p> 
    </fieldset> 
</form> 

現在,你的JS可能是簡單的:

$("#contactForm").validate(); 

..和工作,但你可以很容易地通過添加額外的驗證:

$("#contactForm").validate({ 
    submitHandler: function(form) { 
     /* 
      Add validation here 
     */ 
     form.submit(); 
    } 
}); 

有許多不同的驗證設置可以使用,但我只是能夠通過使用Google找到它,我以前不知道這一點。我的建議是:在來這裏尋找答案之前,對這些JQuery函數進行一些研究。 Here是你可以開始的地方。

+0

順便說一句,在內聯腳本中不需要'$(document).ready',它將不會執行,直到您的「文檔準備就緒「 已經。 – WebWanderer

0

這可能是由於連接到cdn網絡緩慢導致的延遲,請嘗試在本地託管所有庫(畢竟它們不是那麼大的文件)。 我已經看到你遵循了libarary文檔中提供的示例代碼。我不認爲這是一個代碼相關的問題。

+0

Abbasi 從哪裏我將不得不下載所有這些庫? –