[英]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.