3

jquery.dirtyformsの使用方法について混乱しています。

テキストボックスと送信ボタンを備えた単純なフォームを作成しようとしています。ユーザーがテキスト ボックスを変更してページを更新しようとしたり、結果を保存する前にページ内のリンクをクリックしようとした場合、Dirty Forms プラグインはユーザーに警告する必要があります。しかし、何も機能していません。

以下は私のコードです:

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/jquery.dirtyforms/2.0.0/jquery.dirtyforms.min.js" type="text/javascript"></script>
</head>

<body>
<script type="text/javascript">

    $(document).ready(function(){
            $('form').dirtyForms({ 
        dialog: { title: 'Wait!' }, 
        message: 'You forgot to save your details. If you leave now, they will be lost forever.' 
    });
    });

</script>
<form action="/" method="post">
        <input id="input" type="text" />
        <button id="btnSubmit" type="submit" value="Submit">Submit</button>
        </form>

<a href="http://www.google.com">google</a>
</body>
</html>

このコードの何が問題で、このプラグインの使用方法は?

4

2 に答える 2

1

@Joffutt は実用的な解決策を思いつきましたが、彼が見落としていたこの動作には説明があります。問題は、ここでダイアログ モジュールを設定していることです。

dialog: { title: 'Wait!' },

これにより、Dirty Formsは既定のブラウザー ダイアログを使用せ、カスタム ダイアログ モジュールを使用するようになります。ただし、ドキュメントに従って残りのカスタム ダイアログ モジュールの登録を完了していない(つまり、open メソッドが定義されていない) ため、構成が無効です。

カスタム ダイアログ モジュールが必要ない場合はdialog:、構成で を定義しないでください。

于 2017-01-10T07:40:44.217 に答える