フォームの投稿は、Webサイト上の非常に一般的な操作であり、ユーザーエクスペリエンスを向上させるためには、間違ってウィンドウを閉じる、このページのように:)フォームが編集されていることを確認して、ユーザーがページのリダイレクトまたはクローズを確認できるようにする
レールには標準的な方法や宝石がありますか?
フォームの投稿は、Webサイト上の非常に一般的な操作であり、ユーザーエクスペリエンスを向上させるためには、間違ってウィンドウを閉じる、このページのように:)フォームが編集されていることを確認して、ユーザーがページのリダイレクトまたはクローズを確認できるようにする
レールには標準的な方法や宝石がありますか?
var edited = false;
$('#formId :input').change(function() {
if(!edited) {
edited = true;
}
});
window.onbeforeunload = preventUser();
function preventUser() {
if(edited) {
alert("Are you sure?");
}
}
私が正しく理解していれば、フォームにデータを入力してページを離れるときにユーザーに警告することを希望します。これはレールに関連するものではなく、javascriptに関連しています。
あなたはこのようにそれを行うことができます。
window.onbeforeunload = "Are you sure you want to leave?";
あなたはので、このjQueryのコード
$('input').change(function() {
if($(this).val() != "")
window.onbeforeunload = "Are you sure you want to leave?";
});
の追加を追加し、データをフォームに入力された場合にのみ、このオプションを有効にします@harmと@shimeの回答には、私のためにこのように働いた:
<body onbeforeunload="return 'You have made changes'">
cool!単純なjsの魔法。 – linjunhalida
与えられた答えは私のために完全には機能しませんでした。 https://developer.mozilla.org/en-US/docs/Web/API/window.onbeforeunload?redirectlocale=en-US&redirectslug=DOM%2Fwindowに従って 'alert'を' return'に置き換えなければなりませんでした。 onbeforeunload – harm
また、 'window.onbeforeunload'には呼び出しではなく、関数参照を割り当てる必要があります。例えば、 'window.onbeforeunload = preventUser;' – harm