将页面元素置为不可修改Readonly,所有元素统一修改,统一调用
生活随笔
收集整理的這篇文章主要介紹了
将页面元素置为不可修改Readonly,所有元素统一修改,统一调用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用JS方法,實現任何形式的元素的不可修改操作
<script language="javascript">
/**將所有元素置為不可修改
**/
function readOnlyPage(){elements = document.all;for ( var i = 0; i < elements.length; i++) {setReadonlyOfElement(elements[i]);}
}/**
* 此readonly方法設置以下幾種元素:
* select-one
* hidden、password、text、textarea
* button
* checkbox
* radio
* 此方法為父方法,元素皆可調用此方法進行不可修改操作
*/
function setReadonlyOfElement(iElement){var elementType = iElement.type;if ((elementType == "hidden") || (elementType == "password") ||(elementType == "text") || (elementType == "textarea")){if(iElement.setReadonlyFlag==true){return;}else{iElement.setReadonlyFlag = true;}if(iElement.onblur!=null){iElement.oldOnblur = iElement.onblur;iElement.onblur = functionDoNothing;}if(iElement.ondblclick!=null){iElement.oldOndblclick = iElement.ondblclick;iElement.ondblclick = functionDoNothing;}if(iElement.onfocus!=null){iElement.oldOnfocus = iElement.onfocus;iElement.onfocus = functionDoNothing;}if(iElement.className!=null){iElement.oldClassName = iElement.className;}iElement.className="readonly";iElement.readOnly = true;}// 不要把按鈕設只讀//else if(elementType=="button"){// if(iElement.setReadonlyFlag==true){// return;// }else{// iElement.setReadonlyFlag = true;// }//}else if(elementType == "checkbox"){setCheckBoxReadonly(iElement,true);}else if(elementType == "radio"){setRadioReadonly(iElement,true)}else if(elementType == "select-one"){if(iElement.setReadonlyFlag==true){return;}else{iElement.setReadonlyFlag = true;}var optionTags = new Array();var index = 0;var optionObj;var elementValue = iElement.value;var tag;var options = iElement.options;if(options.length>1){for(var j = options.length-1; j >= 0; j--){tag = new Array();optionObj=options[j];tag["value"] = optionObj.value;tag["text"] = optionObj.text;optionTags[index++] = tag;if(tag["value"] != elementValue){iElement.remove(j);}}}iElement.optionTags = optionTags;//iElement.className="readonly";}}function setCheckBoxReadonly(field,flag){if(flag==true){if(field.setCheckBoxReadonlyFlag!=true){field.setCheckBoxReadonlyFlag=true;field.oldClassName = field.className;field.oldOnclick = field.onclick;field.className = "readonlycheckbox";field.onclick = functionReturnFalse;}}else{if(field.setCheckBoxReadonlyFlag==true){field.className = field.oldClassName;field.onclick = field.oldOnclick;field.setCheckBoxReadonlyFlag = false;}}}function setRadioReadonly(field,flag){if(flag==true){if(field.setRadioReadonlyFlag!=true){field.oldClassName = field.className;field.oldOnfocus = field.onfocus;field.className = "readonlyradio";field.onfocus = functionCancelFocus;field.disabled = true;}}else{if(field.setRadioReadonlyFlag==true){field.className = field.oldClassName;field.onfocus = field.oldOnfocus;field.setRadioReadonlyFlag = false;field.disabled = false;}}}</script>
總結
以上是生活随笔為你收集整理的将页面元素置为不可修改Readonly,所有元素统一修改,统一调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Maven打包生成的-SNAPSHO
- 下一篇: 设置select下拉框不可修改的→“四”