5

変更できないフォームがあり、その送信機能を jquery からのみ処理する必要があります。

フォームにはラジオ ボタンのみがあります。ラジオボタンをチェックした際に、ページを参照せずにフォームを送信したい。

これが私が試したコードです。

$('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      $('form#my-form').submit(function(){
        alert('form submitted');
      });
    }
});

「送信されたフォーム」を警告する必要がありますが、警告しません。

私が間違っていることはありますか?

4

6 に答える 6

8

ページロードなしでフォームを送信したい場合は、ajax を使用する必要があります。

送信中にアラートが必要な場合は、コードを少し変更する必要があります..

$('input[type="radio"]').click(function(){
    if ($(this).is(':checked'))
    {
      $('form#my-form').submit();
    }
});

$('form#my-form').submit(function(){
        alert('form submitted');
      });
于 2012-09-12T11:33:15.940 に答える
1

この例をjsFiddleで試しました。私のコードは、radioButtonのチェック時にフォームを送信します。

$('input[type="radio"]').click(function(){
    if ($(this).is(":checked"))
      $('form#my-form').submit();
});​

フォームの送信時にアラートを送信する場合は、このコードを追加する必要があります

$("#my-form").submit(function() {
    alert("submitting form ...");        
});
于 2012-09-12T11:34:15.220 に答える
1

あなたのコードはうまくいきます - このコードを document.ready イベントの中に入れてください。

$(document).ready(function() {
    $('input[type="radio"]').click(function(){
        if ($(this).is(':checked'))
        {
          $('form#my-form').submit(function(){
            alert('form submitted');
          });
        }
    });
})

このセレクターはすべてのラジオ ボタンを探していることに注意してください。また、ページを更新する必要がない場合は、 return false; を追加する必要があります。関数を送信します。

ただし、サブミット機能を機能させるには、最初にラジオボタンをクリックする必要がある場合があることを忘れないでください。

于 2012-09-12T12:02:56.820 に答える
0

IF 内のコードには、「フォームが送信されたら、ユーザーに警告する」と書かれています。そのため、ラジコンがチェックされたときにフォームを手動で送信する必要があります。

IF を閉じる前に、次のコードを入力します。

$('yourForm').submit();
于 2012-09-12T11:28:04.633 に答える
0

この場合、送信イベントをリッスンするだけです。送信イベントをトリガーする場合は、次の行を追加します。

$('form#my-form').submit();

于 2012-09-12T11:31:49.950 に答える
0

ページを更新しないようにするため、Ajax を使用してください。公式ドキュメントは次のとおりです。

http://api.jquery.com/jQuery.ajax/

于 2012-09-12T11:45:12.060 に答える