2

AJAXフォーム送信を使用しようとするのはこれが初めてです。私はそれを機能させましたが、送信するだけでなく、任意のボタンをクリックすると送信が開始されます。最終的には、クリア ボタンをフォーム クリア アクションに接続するつもりですが、現時点では代わりにフォームを送信します。

HTML

<form id="testForm" role="form" action="" method="">
    <div class="form-group" >
        <label for="testArea" class="sr-only">Enter your text.</label>
        <textarea class="form-control" name="testArea" rows="15" id="testArea" placeholder="..."></textarea>
    <button name="submitTest" type="submit"  class="btn btn-primary" >Submit</button>
    <button  class="btn btn-primary">Clear</button>
</form> 

JS

$("#testForm").submit(function(event){
    event.preventDefault();
    var serializedData = $(this).serialize();
    $.ajax({
        url     : "processor.php",
        type    : "post",
        data    : serializedData,
        success : function(data) {
            $('#testForm').html(data);
        }
    })
});

私は .submit がフォームの実際の送信時に起動すると仮定しましたが、それは間違っていますか?

4

2 に答える 2

4

代わりに、コードをbutton.clickイベントに結び付けます。

$("#testForm [name='submitTest']").click(function(event){

ちなみに、「クリア」ボタンはおそらく必要ありません。偶然クリックしただけで、静かに悪態をつくだけです。代わりに、「送信」ボタンがクリックされたときにフィールドを自動的にクリアします。

于 2013-08-30T17:23:46.650 に答える