0
我有一個簡單的聯繫表單,提交到MySql上提交,我想在提交表單前驗證客戶端(我會實現服務器端驗證後,我得到客戶端工作)。出於某種原因,當我提交表單時,它會發布到數據庫,但不會啓動客戶端驗證。任何幫助,將不勝感激。PHP MySQL的JQuery表單不驗證在客戶端
這是HTML(Twitter的引導)代碼:
<form action="/contact.php" method="post" id="contactUs">
<div class="control-group">
<label class="control-label" for="Name">NAME<sup>*</sup></label>
<div class="controls">
<input type="text" class="span4" name="name" placeholder="Name" id="name">
<span class="help-block"></span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="Email">EMAIL<sup>*</sup></label>
<div class="controls">
<input type="text" class="span4" name="email" placeholder="Email" id="email">
<span class="help-block"></span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="Subject">Subject<sup>*</sup></label>
<div class="controls">
<input type="text" class="span4" name="subject" placeholder="Subject" id="subject">
<span class="help-block"></span>
</div>
</div>
<div class="control-group">
<label for="textarea" class="control-label" for="Comment">COMMENTS<sup>*</sup></label>
<div class="controls">
<textarea rows="5" class="span6" name="comments" id="message"></textarea>
<span class="help-block"></span>
</div>
</div>
<div class="control-group form-button-offset">
<input type="submit" class="btn btn-large btn-primary pull-right" value="Send Message" />
</div>
<input type="hidden" name="redirect" value="contact_us.html" />
<script src="js/jquery-1.9.0.min.js"></script>
<script src="js/jquery.validate.min.js"></script>
<script src="js/contactUs.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/bootstrap.min.js"></script>
下面是用於contactUs.js的代碼:
$(document).ready(function(){
$('#contactUs').validate({
rules: {
name: {
minlength: 4,
required: true
},
email: {
required: true,
email: true,
},
subject: {
minlength: 5,
required: true
},
submission_Reason: {
minlength: 5,
required: true
},
comments: {
minlength: 8,
required: true,
}
},
messages: {
name: "Please enter your first and last name",
email: "Please enter a valid email address",
subject: "Please enter a subject",
comments: "Please enter a short message",
},
highlight: function (element, errorClass, validClass) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
unhighlight: function (element, errorClass, validClass) {
$(element).closest('.control-group').removeClass('error').addClass('success');
},
success: function (label) {
$(label).closest('form').find('.valid').removeClass("invalid");
},
errorPlacement: function (error, element) {
element.closest('.control-group').find('.help-block').html(error.text());
}
});
};
和PHP接觸。 php文件:
<?php
$con=mysqli_connect("host","username","password","dbname");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO contactUs (name, email, subject, comments)
VALUES
('$_POST[name]','$_POST[email]','$_POST[subject]','$_POST[comments]')";
$sql="INSERT INTO contactUs (`date_created`) VALUES (now())";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "Your form has been received, Thank you!";
mysqli_close($con);
?>
當我提交了客戶端驗證,則不會觸發形式,其結果是:
- 形式獲取提交併發佈到DB
- 我得到:您的表格已收到,謝謝!
我在做什麼錯?爲什麼不驗證發生?
你檢查你的瀏覽器的任何錯誤控制檯(按Ctrl + Shift + J鍵打開控制檯) –
WOW!考拉謝謝你,我之前做過,但沒有太注意發生了什麼。我現在又做了,並且更加註意。這是一個愚蠢的「)」失蹤。 – user2715832