ホームページ > ウェブフロントエンド > jsチュートリアル > ユーザーが page_javascript スキルのデータを変更したかどうかを確認する方法

ユーザーが page_javascript スキルのデータを変更したかどうかを確認する方法

WBOY
リリース: 2016-05-16 19:00:24
オリジナル
1676 人が閲覧しました

原因:
プログラムの変更モジュールを実装するとき、ユーザーがページ側でデータを変更したかどうかを確認し、変更したデータを時間内に保存するようユーザーに通知する必要があります。

実装要件:
ユーザーが入力内容を変更したかどうかを判断します。入力内のチェックボックス、テキスト、ラジオなどを判断できる必要があります。になりますが、入力の ID と名前がわかりません。変更するかどうかを判断するには、クライアント側で送信を生成できません。また、IE と Firefox の両方の環境を満たす必要があります。マスター ページとコンテンツ ページの使用をサポートすることも必要です。

解決策;
処理のアイデア: ページがロードされたときにすべての入力の値またはステータスを記録します。ユーザーが変更操作を行ったときにすぐにコントロールのステータスを調整する必要がある場合は、onclick をクリックして、 data area div onkeypress イベントで、データが変更されたかどうかを確認する関数を呼び出し、対応するコントロールの状態を設定します (ha_setch() を使用)。送信された場合、またはユーザーがチェック プロセスを手動で制御した場合、チェック データは対応する操作イベントで呼び出されます (たとえば、ボタンの onclick() で ha_checkin() を使用して送信を制御します)。

以下は実装コードです。
var ha_last=new Array;//すべての初期値を格納するグローバル空オブジェクトを定義します。
function ha_get()//初期値を読み込みます
{ var ha_input = document.getElementsByTagName("input");
for (var i=0;i {
if (ha_input[i].type=="password"){ ha_last.push(ha_input[i].value);}//基本ページでは type 属性と object 属性の値を設定する必要があります
if (ha_input [i].type=="radio") {ha_last.push(ha_input[i].checked);}//チェック範囲が正確であることを確認するため
}
}
window .onload=ha_get ;//初期値を読み取る関数をバインドします
function ha_checkin()//新しい入力値が初期値と等しいかどうかを確認します。判定結果を返します。 true は変更が行われていないことを意味し、false は変更があったことを意味します。
{ var ha_now=new Array;
var ha_input = document.getElementsByTagName("input");
for (var i=0;i{
if (ha_input[i].type=="password"){ ha_now.push(ha_input[i].value);}//基本ページでは、type 属性と object 属性の値を設定する必要があります。
if (ha_input[i].type=="radio") {ha_now.push(ha_input[i].checked);}//ha_get() でチェックされたタグと一致していることも確認します
}
if (ha_now.toString()==ha_last.toString())//変更なし
{return true;}
else//変更
{return false;}
}
function ha_setch(){//対応するコントロールのステータスを設定します
if (ha_checkin())//変更なし
//コントロールの表示と機能ステータスを変更します
else//ありますa change
//コントロールの表示と機能ステータスを変更します
}

注: 上記のソリューションは、IE6 と Firefox3.0.2 でのみテストされ、合格しました。他のブラウザではテストされていません。

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