0

そのため、送信後に送信ボタンのテキストを変更できます。「メッセージを送る」のように、送信すると「送信済み」になります。数秒後にテキストを「メッセージを送信」に戻すことはできますか? フォームは AJAX で処理されます。

ありがとう!

4

1 に答える 1

1

という id を持つajax-formフォームがあり、そのフォームの入力フィールドには id:form-inputと name:titleがあり、id が である送信ボタンがあるとしますsubmit-btn。それでは、次のように ajax を実行しましょう。

var ajaxForm   = $('#ajax-form'),
    submitBtn  = ajaxForm.find('#submit-btn');
ajaxForm.on('submit', function(e) {
  e.preventDefault();
  $.ajax({
    type: 'POST',
    url: ajaxForm.prop('action'),
    data: {
      title: ajaxForm.find('input').val()
    },
    dataType: 'json',
    beforeSend: function() {
      submitBtn.text('Send message');
    },
    success: function() {
      submitBtn.text('Sent');
    },
    complete: function() {
      setTimeout(function() {
        submitBtn.text('Send message'); // Change it back after 4 seconds
      }, 4000);
    }
  });
});

エラー ハンドラの追加が必要になる場合があります。詳細については、jQuery AJAX ドキュメント ( http://api.jquery.com/jQuery.ajax/ ) を参照してください。

これがあなたを助けることを願っています。:)

于 2014-03-26T03:24:10.657 に答える