就是我定义了一个HTML控件<input>,我想让这个INPUT默认有两个字,我在VALUE里赋值了。如 value="HU"
但是这样的话,用户访问的时候,是可以把INPUT里的这两个值给删掉的。有没有什么办法,让用户访问该页面的时候,不能删 除这两个默认的值。
多谢!

解决方案 »

  1.   

    javascript监控用户键盘输入,如果是backspace或者delete则返回false
      

  2.   

    在input前面放HU如<div>HU<input type='text' value='' /></div>
      

  3.   


    <input disabled="disabled" value="HU" />
    input的disabled 属性就能实现 
      

  4.   

    onchange判断用户输入前两个是否HU,如果不是,用代码加上去嘛
      

  5.   

    //假设默认字在开头,长度为2
    inupt1.onblur=check()
    function check()
    {
      var content=document.getElementById("inupt1").value;
      content.substring(2,content.length);
      content="默认"+content;
    }就是每次失焦的时候,都去掉“默认”,又加上去。但这不很好,最好是先判断有没有“默认”如果有,不用去掉了,没有才加上,但sorry,一下子不懂得怎么写判断,你自己查下
      

  6.   

    <input disabled="disabled" value="HU" />
      

  7.   

    习惯用jQuery了,简单写了一个。解释一下:
    用keyup事件是为了避免keypress(IE下del键不起作用),以及keydown(触发顺序不合适)的问题。
    blur或者focus事件在这里实用性不高;可以正确处理以下情况:
    用户直接用退格键删除“HU”中的字符
    用户在“HU”后输入合法字符,然后手动定位到“HU”处试图删除HU
    在“HU”两个字符中间或者前段输入字符<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                var content = "";
                $('#Text1').keyup(function() {
                    var str = $(this).val();
                    if (str.substring(0, 2) == "HU") {
                        content = str.substring(2, str.length);
                    } else {
                        $(this).val("HU" + content);
                    }
                });
            });
        </script>
    </head>
    <body>
        <input id="Text1" name="Text1" type="text" value="HU" />
    </body>
    </html>
      

  8.   

    测试了Firefox, Chrome, IE8IE6,7下未测试