Perhapes for surity, in chrome and IE10, readonly/disabled input will be reset when the form submit.

for example,in the function "SelectProjectFeeType",nowFeeTypeName.value=returnValue[1]; is not work, because, when form submit,  fee type name will be cleared.

function SelectProjectFeeType(nowFeeTypeName,nowFeeTypeID,nowFeeRule)
        {
            var ProjectID=document.Form1.txtProjectID.value;
            var returnValue=showModalDialog( "../ToolManagement/ProjectFeeTypeSelectorFrame.aspx?ProjectID="+ProjectID+"&FeeSortType=4",window, "scroll:yes ;font-family:Verdana; font-size:12; dialogWidth:750px; dialogHeight:600px;status:no;help:no");
            if(returnValue!=null)
            {
                nowFeeTypeID.value=returnValue[];
                if(CheckIsRepeat('txtFeeTypeID'))
                {
                    nowFeeTypeName.value=returnValue[1];
                    nowFeeRule.value=returnValue[];
                    document.Form1.txtFeeSortStatus.value=nowFeeTypeID.id;
                    document.Form1.txtOperatorStatus.value="GetFeeSortTotal";
                    document.Form1.submit();
                }
            }
        }

解决方法:

去掉readonly = "true"; 将input的class设置为"readonly", 如下图所示:

<input type="text" class="readonly" value="readonly text"/>

在javascript中加上处理,让class为readonly的input无法输入或粘贴

function getElementByClass(matchClass, tagName) {
            var result = [];
            var tagName = tagName || "*";
            var elems = document.getElementsByTagName(tagName), i;
            for (i in elems) {
                ) {
                    result.push(elems[i]);
                }
            }
            return result;
        }

        function makeInputReadonly() {
            var elems = getElementByClass("readonly", "input");
            ; i < elems.length; i++) {
                var elem = elems[i];
                if (elem.attachEvent) {
                    elem.attachEvent("onpaste", function (e) { e.preventDefault(); });
                    elem.attachEvent("onkeydown", function (e) { return false; });
                } else {
                    elem.addEventListener("paste", function (e) { e.preventDefault(); });
                    elem.addEventListener("keydown", function (e) { e.preventDefault(); return false; });
                }
                elem.setAttribute("autocomplete", "false");
            }
        }

        if (window.attachEvent) {
            window.attachEvent("onload", function () {
                makeInputReadonly();
            });
        } else {
            window.addEventListener("load", function () {
                makeInputReadonly();
            });
        }

兼容IE10:

IE10中,input会自带一个清除的按钮,可以用以下样式来屏蔽这个清除按钮

input::-ms-clear{display:none}

autocomplete = "off"

readonly/disable input 问题的更多相关文章

  1. 在IE下,如果在readonly的input里面键入backspace键,会触发history.back()

    在IE下,如果在readonly的input里面键入backspace键,会触发history.back(), 用以下jQuery代码修正之 $("input[readOnly]" ...

  2. 关于iphone点击readonly的input虚拟键盘不消失的情况

    今天遇到了一个比较棘手的问题,事情是这样的: 咱有一个添加地址的页面,大概长这样: 收货地址后那个"请选择收货地址"是一个readonly的input, 咱一进页面,直接点击这个& ...

  3. jquery 修改input输入框的 readOnly属性 && input输入框隐藏

    html的代码 <div class="control-group"> <label class="control-label required&quo ...

  4. 解决IE下readonly的Input光标选中的问题

    首先用unselectable="on"解决,但是这种方法bug太多, 屏蔽了input的onblur事件(也就是focus事件在Angualr下),所以只能用click事件来代替 ...

  5. html input readonly 和 disable的区别

    Readonly和Disabled它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / password)和textar ...

  6. CSS中的disable,hidden,readonly

    项目中有时候需要对某个input进行隐藏或者禁止修改等. 需要隐藏某个input的时候就用hidden <input hidden="true" > 如果要禁止修改in ...

  7. input/select/textarea标签的readonly效果实现

    首先说一下readonly属性的应用场景 表单中,不能编辑对应的文本,但是仍然可以聚焦焦点 在提交表单的时候,该输入项会作为form的一项提交(目的) 这里要说一下disabled和readonly的 ...

  8. IE下只读INPUT键入BACKSPACE 后退问题(readonly='true')

    在IE下,如果在readonly的input里面键入backspace键,会触发history.back(), 用以下jquery代码修正之 $("input[readOnly]" ...

  9. JQuery控制input的readonly和disabled属性

    jquery设置元素的readonly和disabled Jquery的api中提供了对元素应用disabled和readonly属性的方法,在这里记录下.如下: 1.readonly   $('in ...

随机推荐

  1. 中国电信某站点JBOSS任意文件上传漏洞

    1.目标站点 http://125.69.112.239/login.jsp 2.简单测试 发现是jboss,HEAD请求头绕过失败,猜测弱口令失败,发现没有删除 http://125.69.112. ...

  2. uwsgi 启动脚本 每隔三小时重启

    针对 s10ops项目 来进行的重启 [root@ayibang-server scripts]# cat /home/liujianzuo/server/scripts/monitor_uwsgi ...

  3. HTML 5 Web 存储-localStorage

    在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前, ...

  4. curl命令常见用法汇总 good

    curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...

  5. 清除UIWebView的缓存

    //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCook ...

  6. Pytho实现tail -f

    实现Python版的tail -f功能 tail -f 的功能非常好用.我们用Python也可以实现这样的功能.实现的原理是通过Python版本的inotify获得文件的更新消息,从而读取更新的行.p ...

  7. Java基础之集合框架——使用集合Vector<>挑选演员(TryVector)

    控制台程序. public class Person implements Comparable<Person> { // Constructor public Person(String ...

  8. Java基础之泛型——使用通配符类型参数(TryWildCard)

    控制台程序 使用通配符类型参数可以设定方法的参数类型,其中的代码对于泛型类的实际类型参数不能有任何依赖.如果将方法的参数类型设定为Binary<?>,那么方法可以接受BinaryTree& ...

  9. (Protype Pattern)原型模式

    定义: 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型来创建新的对象 适用性: 当我们系统中有一些类,在使用的时候都有同样需要大量的创建,而这样的创建是复杂的而且是浪费CPU,内存资源的 ...

  10. centos 6.4下设置输入法

    最近安装了centos,设置输入法步骤如下: 1)确定安装了Chinese support: : yum install "@Chinese Support" 2)输入法设置 在界 ...