簡體   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