簡體   English   中英

Ajax驗證不適用於表單提交

[英]ajax validation not working in form submit

我在URL字段中使用ajax驗證,我收到了正確的消息(從數據庫中檢查后),但仍在提交表單

我想如果收到無效消息,則該表單不應該提交,該怎么辦?

<script>
    $(document).ready(function(){
        $("#Url").blur(function() {
            var element = $(this).val();
            $.ajax
            ({
                url: "<?php echo site_url('Welcome/check_user_status'); ?>",
                type: 'POST',
                data: "url="+element,
                success: function(data){
                    alert(data);
                    $('#emailInfo').html(data);

                    if(jQuery.trim(data) === "Emailvalid")
                    {
                        alert("Emailvalid");

                    }

                    else
                    {
                        alert("Email Invalid");
                    }
                    console.log(data);
                }

            });
        });
        // return false;
    });
</script>
<form name="myForm" id="myForm"> 


<script>
    $(document).ready(function(){
        $("#Url").blur(function() {
            var element = $(this).val();
            $.ajax
            ({
                url: "<?php echo site_url('Welcome/check_user_status'); ?>",
                type: 'POST',
                data: "url="+element,
                success: function(data){
                    alert(data);
                    $('#emailInfo').html(data);

                    if(jQuery.trim(data) === "Emailvalid")
                    {
                        alert("Emailvalid");

                    }

                    else
                    {
                        alert("Email Invalid");

                    $("form").submit(function(e){
                       e.preventDefault();
                     }); 
                    }
                    console.log(data);
                }

            });
        });
        // return false;
    });
</script>

你的測試被放置在成功回調,這是解雇$.ajax()調用已成功發布的數據和接收響應。 無論您在此處放置什么內容,都只有在提交表單才能進行。

如果嘗試 POST 之前進行驗證,則需要單獨添加。 根據所需的驗證類型,您可以編寫自己的簡單測試或使用插件-jQuery驗證是一個不錯的選擇。

將此添加到您的頁腳文件中

<script>
var burl="<?php echo base_url('') ?>";
var surl="<?php echo site_url('') ?>";
</script>

然后在ajax url上使用這個surl ...就像這樣

<script>
    $(document).ready(function(){
        $("#Url").blur(function(e) { // add e
            e.preventDefault();// prevent other events
            var element = $(this).val();
            $.ajax
            ({
                url: surl+"Welcome/check_user_status",
                type: 'POST',
                data: {"url":element}, // check the change
                success: function(data){
                    if($.trim(data) === "Emailvalid"){ // instead of jQuery use $
                        alert("Emailvalid");
                        $('#emailInfo').html(data); // put here 

                    }else{ // remove the space between if and else
                        alert("Email Invalid");
                        return false; // add here 
                    }
                    console.log(data);
                }
            });
        });
    });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM