12

モデルに対して強く型付けされたビューがあります。ユーザーが[送信]をクリックすると、ユーザーが実際にフォームを送信することを確認する確認ボックスがポップアップ表示されます。[キャンセル]をクリックすると、送信しないでください。そのビューのHttpPostアクションを起動します、これは可能ですか?

4

4 に答える 4

29

もちろん可能です。私は目立たないアプローチを使用するのが好きです。簡単な例を次に示します。

jQuery(document).ready(function () {
  jQuery('[data-confirm]').click(function (e) {
    if (!confirm(jQuery(this).attr("data-confirm")))
    {
      e.preventDefault();
    }
  });
});

次に、たとえば送信ボタンにデータ確認属性を追加するだけです。

<input type="submit" data-confirm="are u sure?" />

もちろん、この属性はリンクやボタンなどで使用できます。送信ボタンのみに制限されているわけではありません。より洗練された確認ダイアログを後で実装する場合は、コードを1か所で置き換える必要があります。

于 2012-04-16T09:29:43.987 に答える
5

そのための単純なjQuery呼び出しを追加できます。

ビューの最後に次を追加します。

<script type="text/javascript">

    $("form").submit(function() {

        return confirm('Are you sure?');

    });

</script>

または、を追加します

onsubmit="return confirm('Are you sure?');"

新しい要素プロパティとして

于 2012-04-16T09:21:20.187 に答える
5
        function doSubmit()
        {                                 
                if(window.confirm("ARE YOU SURE TO PERFORM THIS ACTION"))
                {                       
                    return true;
                }
                else return false;                
        }

フォームのイベントでdoSubmit()関数を呼び出します。例:onsubmitonsubmit="return doSubmit()

于 2012-04-16T09:23:15.753 に答える
0

これは、jqueryを使用して送信ボタンをオーバーライドすることで実行できると思います。Jquery .submit()

このように、その人が送信を押したときに、メッセージを表示して送信するかキャンセルすることができます。

于 2012-04-16T09:23:31.893 に答える