ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript は、誤ってブラウザーバックイベントによってフォームがクリアされるのを防ぎます_javascript スキル

JavaScript は、誤ってブラウザーバックイベントによってフォームがクリアされるのを防ぎます_javascript スキル

WBOY
リリース: 2016-05-16 17:12:57
オリジナル
1412 人が閲覧しました

なぜなら、お客様のほとんどがパソコンのことを理解していない初心者だからです。そのため、テキストボックスが選択されておらず、うっかりバックスペースを押してしまうと、せっかく入力したフォームが元に戻ってしまうという誤操作も多々あります。ネットで色々な情報を調べてまとめてみました。みんなと共有しましょう。また、ヨーグルト姉妹が私の最初の技術ブログを読みに来てくれることを願っています。あはは(あなたのことを言っても構いません。)これ以上ナンセンスなことはありません。ソースコードをアップします。

コードをコピー コードは次のとおりです。

$(function(){
//キーボード イベントの処理により、戻るキー (Backspace) パスワードまたは単一行または複数行のテキスト ボックスが禁止されます。
function banBackSpace(e){
var ev = e window.event;//イベントオブジェクト
var obj = ev.target || ev.srcElement;//イベントソースを取得します

var t = obj.getAttribute('type');//イベントソースタイプ

/ /判定条件となるイベントタイプを取得
var vReadOnly = obj.getAttribute('readonly');
var vEnabled = obj.getAttribute('enabled');
//null 値の状況を処理します
vReadOnly = (vReadOnly == null) ? false : true;
vEnabled == null) ?

// Backspace キーが押されたとき、イベント ソース タイプはパスワードまたは単一行、複数行のテキスト、
//readonly 属性が true であるか、enabled 属性が false の場合、Backspace キーは無効です。
var flag1 =(ev.keyCode == 8 && (t=="パスワード" | | t=="テキスト" || t=="テキストエリア")
&& (vReadOnly || vEnabled!=true))?true: false;

//Backspace キーが押されると、イベント ソース タイプがパスワードまたは単一行または複数行のテキストでない場合、Backspace キーは無効になります
var flag2=(ev.keyCode == 8 && t != "パスワード" && t != "テキスト" && t != "テキストエリア ")
?true:false;

//判定
if(flag2){
return false;
}
if(flag1){
return false ;
}
}

//Firefox と Opera の戻るキーを無効にする
document.onkeypress=banBackSpace;
//IE および Chrome の戻るキーを無効にする
document.onkeydown=banBackSpace;
window.history.forward(1);//付属の戻るボタンをブロックしますブラウザ
})

注意すべき点は次のとおりです:

このコードは初期化メソッドに配置する必要があります。次に、 document.onkeypress=banBackSpace を使用して、作成したメソッドを呼び出します。
コードをコピー コードは次のとおりです。

vReadOnly = (vReadOnly == null) ? false : true ;このコードでは、コロンの後の値は vReadOnly であることがわかりました。後で、私のプロジェクトでは空が返されたことがわかりました。 、nullではないので、trueに変更しました。

テキスト、パスワード、またはテキストではない場合にバックスペースを押してブラウザのバックスペース イベントを防止するには、上記の方法に従います。ただし、テキスト ボックスにバックスペースが含まれている場合はバックスペースを防止できません。値のイベント。初めてのブログですが、応援していただければ幸いです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート