JavaScriptはユーザーがフォームを修正したかどうかを判断する方法です.
3307 ワード
本論文の例は、JavaScriptがユーザーがフォームを変更したかどうかを判断する方法を説明する.皆さんの参考にしてください.具体的な分析は以下の通りです.
このJSコードは、ユーザーがフォームの内容を変更したかどうかを判断し、フォームを変更してブラウザを終了すると、フォームの内容を保存するかどうかをユーザに警告する、非常に有用なコードです.
このJSコードは、ユーザーがフォームの内容を変更したかどうかを判断し、フォームを変更してブラウザを終了すると、フォームの内容を保存するかどうかをユーザに警告する、非常に有用なコードです.
function formIsDirty(form) {
for (var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
var type = element.type;
if (type == "checkbox" || type == "radio") {
if (element.checked != element.defaultChecked) {
return true;
}
}
else if (type == "hidden" || type == "password" ||
type == "text" || type == "textarea") {
if (element.value != element.defaultValue) {
return true;
}
}
else if (type == "select-one" || type == "select-multiple") {
for (var j = 0; j < element.options.length; j++) {
if (element.options[j].selected !=
element.options[j].defaultSelected) {
return true;
}
}
}
}
return false;
}
使用例:ブラウザを終了した場合、フォームが変更された場合、ユーザーに保存するかどうかを通知します.
window.onbeforeunload = function(e) {
e = e || window.event;
if (formIsDirty(document.forms["someForm"])) {
// For IE and Firefox
if (e) {
e.returnValue = "You have unsaved changes.";
}
// For Safari
return "You have unsaved changes.";
}
};
以下は完全なサンプルコードです.
Click on below button. Now change some values in form and click the button again.
<br> function formIsDirty(form) {
<br> for (var i = 0; i < form.elements.length; i++) {
<br> var element = form.elements[i];
<br> var type = element.type;
<br> if (type == "checkbox" || type == "radio") {
<br> if (element.checked != element.defaultChecked) {
<br> return true;
<br> }
<br> }
<br> else if (type == "hidden" || type == "password" ||
<br> type == "text" || type == "textarea") {
<br> if (element.value != element.defaultValue) {
<br> return true;
<br> }
<br> }
<br> else if (type == "select-one" || type == "select-multiple") {
<br> for (var j = 0; j < element.options.length; j++) {
<br> if (element.options[j].selected !=
<br> element.options[j].defaultSelected) {
<br> return true;
<br> }
<br> }
<br> }
<br> }
<br> return false;
<br> }
<br>
本論文で述べたように、皆さんのjavascriptプログラムの設計に役に立ちます.