繁体   English   中英

PHP MySQL必填字段

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM