0

私はフォームを持っていて、小さなjquery ajaxコードを実装しようとしました。しかし問題は、フォームの自動送信を停止するために preventDefault() を使用したことです。今、私はそれを提出したいときでもそれを提出させることができません。

//after user clicks submit buttons
    $('.submit').click(function(event){
        data =  {
                    country: $('.country').val(),
                    tel_country_code: $('.country_code').val(),
                    tel_no: $('.tel_no').val()
                }

        $.ajax({
            type: 'POST',
            url: "<?php echo site_url('listings/does_business_exists');?>",
            data: data,
            dataType: "json",
            success: function(json_data){
                    if(json_data.result == false){
                        $('.error-position').html(json_data.errors);
                        $('.error-position').show();
                    }
                    else{
                        return true;
//i want form to submit here

                    }

            }

        });

        event.preventDefault();
    })

友達の提案はありますか??

4

4 に答える 4

2

フォームを取得して送信するだけ

document.forms["formName"].submit();
于 2012-05-10T12:58:09.920 に答える
0
$('.submit').click(function(event){
    var $this = $(this);

    data =  {
                country: $('.country').val(),
                tel_country_code: $('.country_code').val(),
                tel_no: $('.tel_no').val()
            }

    $.ajax({
        type: 'POST',
        url: "<?php echo site_url('listings/does_business_exists');?>",
        data: data,
        dataType: "json",
        success: function(json_data){
                if(json_data.result == false){
                    $('.error-position').html(json_data.errors);
                    $('.error-position').show();
                }
                else{
                    $this.parents('form:first').trigger('submit');
                }

        }

    });

    return false;
})
于 2012-05-10T12:58:17.650 に答える
0

このように追加し、ドキュメントをトラバースし、フォーム オブジェクトを取得してから、それに対して submit メソッドを呼び出します。このリンクをチェックDocument.forms

var obj= document.forms["yourForm"];
    obj.submit();
于 2012-05-10T12:58:53.600 に答える
0

を削除しevent.preventDefault();て試してください:

<form onsubmit = "return false;"> ... </form>
于 2012-05-10T13:00:35.747 に答える