簡體   English   中英

使用jQuery問題驗證和提交表單

[英]validating and submitting form using jquery issue

我正在嘗試使用j-query提交表單,在提交表單之前應該進行一些驗證,並且我已經使用ajax驗證了capcha。 無需ajax驗證,一切正常。

<form id="RegistrationForm" name="RegistrationForm" method="post" action="save.php" >

jQuery代碼

$('#RegistrationForm').submit(function(){
//some validation goes here
if($('#captcha').val() != '')
    { 
        var captcha = $('#captcha').val();
        $.ajax({
            url:'validate.php',
            type:'POST',
            data:{captcha:captcha},
            success: function(data){
                if(data == 'false')
                {
                    alert('Wrong Captcha is typed!');
                    return false;
                }
                else
                {
                                alert('enter');
                document.getElementById("RegistrationForm").submit();   
                                return true;

                }

              }
            });
    }
});`

提交表單時,它顯示警報“輸入”,但表單未提交。 提前致謝。

您可能需要將變量更改為JSON,以查看如何從php檢索。 如果那不是解決方案,請嘗試

if (data){

}else{

}

僅供參考,這不是jquery驗證。 jQuery驗證是一個庫,用於確保在提交之前正確設置了正確的字段。 提交后,驗證碼(Captcha)是否正確將測試您所做的工作。

嘗試這樣的事情

        $(function(){
            $('#RegistrationForm').submit(function(){
                if($('#captcha').val() != ''){ 
                    var captcha = $('#captcha').val();
                    $.ajax({
                        url:'validate.php',
                        type:'POST',
                        async:false,
                        data:{captcha:captcha},
                        success: function(response){
                            if(response == 'false')
                            {
                                alert('Wrong Captcha is typed!');
                                return false;
                            }
                            else
                            {
                                alert('enter');
                                return true;

                            }

                      }
                  });
                }
            });`

        })

嘗試使Ajax同步

 $.ajax({
        url:'validate.php',
        type:'POST',
        async: false,
        data:{captcha:captcha},
        success: function(data){
            if(data == 'false')
            {
                alert('Wrong Captcha is typed!');
                return false;
            }
            else
            {
                            alert('enter');
            document.getElementById("RegistrationForm").submit();   
                            return true;

            }

          }
        });

我認為問題是,每次您再次從commit調用時,ajax請求都返回false以外的值時,我想每次它都調用Submit函數時,但無法成功提交。 因為它以遞歸方式調用Submit函數。

嘗試

$('#RegistrationForm').submit(function(){
//some validation goes here
if($('#captcha').val() != '')
    { 
        var captcha = $('#captcha').val();
        $.ajax({
            url:'validate.php',
            type:'POST',
            data:{captcha:captcha},
            success: function(data){
                if(data == 'false')
                {
                    alert('Wrong Captcha is typed!');
                    return false;
                }
                else
                {
                     alert('enter');   
                }

              }
            });
    }
});

暫無
暫無

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

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