2

AJAX を使用してフォームを送信しようとしています。フォームは jQuery UI ダイアログのコンテンツです。

jQueryのドキュメントと同じコードを使用しています

テキスト入力が 1 つだけになるようにフォームを変更したので、フォームは次のようになります。

<form>
  <fieldset>
    <label for="answer"><strong>Your Answer : </strong></label>
    <input type="text" name="answer" id="answer" class="text ui-widget-content ui-corner-all" />    
  </fieldset>
  </form>

OK(またはユーザーの作成)ボタンをクリックすると機能します。つまり、AJAXで回答を送信しますが、Enterキーを押したときにも機能するようにします。

入力asdinput#answerてEnterキーを押すと、URLは次のようになります。

mysite.com/?answer=asd

関数を追加してみました:

  $('#answer').keypress(function(e) {
    if (e.keyCode == $.ui.keyCode.ENTER) {
          alert("enter pressed on answer input");
    }
});

今回は警告"enter pressed on answer input"してから URL を変換します。URL を変更したくないのですが、その関数を削除するにはどうすればよいですか? それはどこで定義されていますか?

要するに、エンターキーは自分がやりたいことだけをしてほしいのです。

助けてくれてありがとう!

編集:

マウスクリックで機能するボタンは、次のjQuery.dialog();ように追加されます。

$( "#dialog-form" ).dialog({
      autoOpen: false,
      height: 300,
      width: 350,
      modal: true,
      buttons: {
        Answer: function() {
            var answer = $("#dialog-form #answer").val();
            alert("your answer : "+answer);
                    submit_with_ajax(answer);
        },
        Cancel: function() {
          $( this ).dialog( "close" );
        }


      },
      close: function() {
        allFields.val( "" ).removeClass( "ui-state-error" );
        alert("asd");
      }
    });
4

3 に答える 3