2016-10-23 9 views
0

フォームを非表示にし、送信ボタンを表示してフォームタグの外にしたいとします。私はjqueryでこれを行う方法を理解し、フィドルを作ったhere。 私が持っている問題は、私のページの特定の要素を描画するためにjquery .on()を使用していて、.on()構文を使用するときにフォームを送信する方法がわかりません。jquery .on()を使用してフォームの外に送信ボタンを置く方法

下の例のフォームタグの外に送信ボタンを置くと、jqueryは何も送信しません。

マイフォーム

<form id="myForm" class="myForm" action="" method="post" style=""> 
<input type="hidden" name="name" value="name"> 
</form> 

    <button type="submit" class=""></button> 

私のjQueryの私は最近、これをしなかった私はforlabelを使用し、ボタンのように、それをスタイルだった

$(document).on('submit', '.myForm', '.results', function(e) { 
    var new_data = $(this).closest('div').attr('class') 

    e.preventDefault(); 

    $.ajax({ 
     url: 'add_tag.php', 
     type: 'POST', 
     dataType: 'html', 
     data: $(this).serialize(), 
     success: function(response) { 

      $('.' + new_data).hide().fadeIn("slow").append('<td>' + response + '</td>'); 

     } 
    }); 

    return false; 
}); 

答えて

2

一つの方法。

<form style="display: none" ...> 
    ... 

    <input type="submit" id="submit"> 
</form> 

<label class="button" for="submit">Submit</label> 

forを持つ要素をクリックするので、それはそれは、フォームの内側だ提出クリックするのと同じように動作し、対応するidinputを活性化させます。これは、提出の問題を処理します。

+0

本当にスマートです。うまくいく、ありがとう。 – JulianJ

+0

私は助けてくれてうれしいです。 – Sam

関連する問題