我先用activeElement得到它,再创建range,是不是这个思路呢?

解决方案 »

  1.   

    onblur的时候,不是有一个你传一个对象。然后从这个对象中取value的属性,不就是了吗?
      

  2.   


    <script>
    var fun=function(){
    var inputs=document.getElementsByTagName("INPUT");
    for(var i=0;i<inputs.length;i++){
    if(inputs[i]==document.activeElement){
    alert(inputs[i].name);
    }
    }
    };
    document.onclick=fun;
    </script>
      

  3.   

    我要取的是这个text input的源码。
    比如有这样一个文档
    <html>
    <body>
    <input name="et" type="text" />
    </body>
    </html>我想通过javascript取到这个<input name="et" type="text" />这整串字符出来,通过dom的方式
      

  4.   


    <script>
    var rep=function(val){
    val=val.replace(/^.*?(<input[^>]*>).*?$/img,"$1");
    val=val.replace(/([a-zA-Z])\s*=([^'"> ]*)/img,"$1=\"$2\"");
    return val;
    };
    var fun=function(){
    var inputs=document.getElementsByTagName("INPUT");
        for(var i=0;i<inputs.length;i++){
            if(inputs[i]==document.activeElement){
                alert(rep(inputs[i].parentNode.innerHTML));
            }
        }
    };
    document.onclick=fun;
    </script>
    IE下有些问题
      

  5.   

    纠正下一个小bug本来是想纠正IE下自动去掉input后便跟着的属性的引号bug,但刚才发的正则式没写好
    var rep=function(val){
    val=val.replace(/^.*?(<input[^>]*>).*?$/img,"$1");
    val=val.replace(/([a-zA-Z])\s*=([^'"> ]+)/img,"$1=\"$2\"");
    return val;
    };
    红色的地方,原来的*号改成+号
      

  6.   

    呃,现在想想,如果本来的input没有引号,我这不自动给加上了吗?这个可真是为难啊...
      

  7.   

    感谢楼上朋友卖力支持,非常感谢。
    不过这里不想用正则,我的最终意图就是想得到具有输入焦点的某个text input的源码,并且用dom的机制来实现。
      

  8.   


    <script>
    var fun=function(){
    var inputs=document.getElementsByTagName("INPUT");
        for(var i=0;i<inputs.length;i++){
            if(inputs[i]==document.activeElement){
                alert(inputs[i].outerHTML);
    //汗一下,原来我javascript如此学艺不精,居然不知道outerHTML这个玩意儿
            }
        }
    };
    document.onclick=fun;
    </script>
      

  9.   

    在JS中可以使用:obj.innerHTML:
      也就是从对象的起始位置到终止位置的全部内容,包括Html标签。obj.innerText: 
      从起始位置到终止位置的内容, 但它去除Html标签 obj.outerHTML:
      除了包含innerHTML的全部内容外, 还包含对象标签本身。
      

  10.   

    再汗一下,firefox死都不支持outerHTML