3

ご挨拶

jquery disable on submit プラグインを使用していますが、問題があります。送信ボタンを無効にすると、サーバーに戻されないため、どのボタンが押されたかわかりません。これは正常ですか?私にできることはありますか?

私は自分のウェブサイトを改造したくないので、どのボタンが押されたかを知るためにフォーム送信時に変数を設定する必要があります。

何か案は ?

4

4 に答える 4

3

Web フォームの送信ボタンを無効にする方法

このメソッドは、ボタンを無効にする代わりに非表示にし、送信ボタンが無効になったように表示するために、無効な <button> タグをプログラムで挿入します。よく働く。

于 2009-03-19T12:17:02.280 に答える
0

もっとシンプルに:)

var formid="#id-form-if-exists"; //Put here the id if exists
$("form"+formid).submit(function(){$("form"+formid+" input").attr("disabled",false);});

うん

于 2010-04-13T14:13:58.643 に答える
0

jQueryフォーラムで見つけた回避策は次のとおりです。

<script type="text/javascript">
    $(document).ready(function() {
        $("#sendSearch").click(function() {
            $('#loadingDiv').show();
            $('#sendSearch').attr("disabled", "disabled");

            // these two lines are the workaround
            this.form.submit();
            return true;
        });
    });
</script>
于 2009-05-14T08:19:30.913 に答える
0

jquery 経由で送信し、後でボタンを無効にすることができます。

<input type="submit" value="do it!" onclick="$('#mainform').submit(); $(this).attr('disabled','disabled' ); $('#pleasewait').show();" />

編集: form.submit() が非同期ではないことを忘れていました。代わりに ajax リクエストを実行できます。

$.ajax({
url: "someurl",
type:"POST",
cache: false,
dataType: "json",
success:gotIt,
async:true,
timeout:240000,
error:ajaxError,
data:$("#mainform").serialize()
}); 

または、ボタンを .hide() するか、クリックした後に機能しない onClick() ハンドラーを設定し、無効に見えるようにスタイリングすることができます。

于 2009-03-19T11:54:31.867 に答える