[英]PHP MySQL mandatory field
我有這個查詢
$tww_update_sql = "UPDATE `telesales_anc` SET
`Ime` = '".$_POST['Ime'];
我有一個帶有提交按鈕的表單,如下所示:
<form id="contact" method="post" action="ANC_pozivanje_test.php">
<div class="col-md-2 col-sm-12 col-xs-12 form-group">
<small>Ime</small>
<input id="contact_name" type="text" name="Ime" placeholder="Ime" class="form-control" value="<?php echo $values['Ime']?>">
</div>
<div class="form-group">
<div id="contact_submit" class="col-md-9 col-sm-9 col-xs-12">
<button type="submit" class="btn btn-success" value="Save">Save</button>
</div>
</div>
我用於簽入字段的腳本如下所示:
<script>
$(document).ready(function() {
<!-- Real-time Validation -->
<!--Name can't be blank-->
$('#contact_name').on('input', function() {
var input=$(this);
var is_name=input.val();
if(is_name){input.removeClass("invalid").addClass("valid");}
else{input.removeClass("valid").addClass("invalid");}
});
<!-- After Form Submitted Validation-->
$("#contact_submit button").click(function(event){
var form_data=$("#contact_name").serializeArray();
var error_free=true;
for (var input in form_data){
var element=$("#contact_name"+form_data[input]['']);
var valid=element.hasClass("valid");
var error_element=$("span", element.parent());
if (!valid){
error_element.removeClass("error").addClass("error_show");
error_free=false;
}
else{
error_element.removeClass("error_show").addClass("error");
}
}
if (!error_free){
event.preventDefault();
}
else{
alert('Status nije popunjen');
}
});
});
</script>
問題是提交按鈕時(如果未填充字段),我收到消息“ Status nije popunjen”,但提交了表單消息。
是否需要為此使用腳本?
似乎您檢查error_free
是否為false,在這種情況下可以防止提交,但是,如果為true(因此,如果填充了該字段),則僅發出警報。 event.preventDefault()
是否不應該在其他里面?
您不應該聽button.click,而是要聽form.submit。
<!-- After Form Submitted Validation-->
$("#contact").on('submit', function(event) {
方法event.preventDefault()
將阻止表單提交,並且應與alert()位於同一塊中
if (!error_free) {
event.preventDefault();
alert('Status nije popunjen');
}
您要做的就是在客戶端驗證數據,確保提供了有效的名稱。 我將在這里重新創建。
您可以簡單地對其進行更改。 但是我相信這可以解決您的需求。 還要注意,您應該驗證服務器上的數據。 不要僅僅依靠客戶端驗證
$update_sql = "UPDATE " . $table_name . " SET Ime = '" . $_POST['txt-name'] . "'";
'use strict'; $(document).ready(function() { //bind click event on the button var form = document.forms['frm-contact']; $('#btn-contact').bind('click', function(event) { event.preventDefault(); //this will prevent the form from getting submitted, so that we can validate the user name. var field = form.elements['txt-name'], name = field.value, len = name.length, error = ''; if (len === 0) { error = 'Enter your name'; } else if (len < 2) { error = 'name should not be less than 2 characters'; } else if (len > 36) { error = 'name should not exceed 36 characters'; } else if (/^[^az]+/i.test(name)) { error = 'name must start with letters'; } else if (!/^['.az\\- ]+$/i.test(name)) { error = 'invalid characters found'; // name should contain only alphabets, dash character, space character and dot character only } //done validating. show error now or submit the form. if (error) { alert(error); $(field).addClass('error'); } else { $(field).removeClass('error'); form.submit(); } }); });
.error { background-color: red; color: #fff; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form name="frm-contact" id="frm-contact" method="post" action="example.php"> <div class="form-group"> <label for="txt-name">Name:</label> <input type="text" name="txt-name" id="txt-name" placeholder="enter your name" value="" /> </div> <div class="text-center"> <button type="submit" class="btn btn-success" name="btn-contact" id="btn-contact" value="contact us">SEND</button> </div> </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.