比如input type="text" name="test" value=123
我将text里面的内容修改为10000
使用
document.getElementsByTagName("input")
getAttribute("value") 
获取value 的值还是123而不是我想要的 10000,请问如何实现,使用input type=radio 也是无法获取选择后的值 ,只能获得默认选择的值

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    <input type="text" name="test" value="123" />
    <p onclick="fun();">点我获取值</p>
    <script type="text/javascript">
    function fun(){
    alert(document.getElementsByTagName("input")[0].value);
    alert(document.getElementsByTagName("input")[0].getAttribute("value"));
    }
    </script>
    </body>
    </html>
      

  2.   

    不太明白你的意思,是不是取得当前数值以后再修改的?如果是的话,那只能得到修改之前的值,如果要动态获取,应该在每次修改以后再重新获取input控件的值:
    <input type="text" name="test" id="test" value="123" />
    <input type="button" onclick="showVal()" value="当前数值" />
    <script type="text/javascript">
    function showVal() {
    alert(document.getElementById('test').value);
    }
    </script>
      

  3.   


     alert(document.getElementsByTagName("input")[0].getAttribute("value")); 这一行输出符合我的要求但是我也是这么写的,为什么输出还是 以前的value呢 function monitorEdit()
    {
        var x=document.getElementsByTagName("input");
        var y = '';
        for (var i = 0; i < x.length; i++)  {
            if ( x[i].getAttribute("type") == "radio" )
            {
                if ( x[i].getAttribute("checked") == "checked" )
                {   
                     y += x[i].getAttribute("name") + '=' + x[i].getAttribute("value") + '\n';
                }
            }
            if ( x[i].getAttribute("type") == "text" )
            {
                  if ( x[i].getAttribute("name") != "idc" )
                  {
                    y += x[i].getAttribute("name") + '=' + x[i].getAttribute("value") + '\n';
                  }
             }    }   
        alert(y);
        
    }
      

  4.   

    有的浏览器getAttribute("value")只会取到旧的。
    element.value都会取到即时的。
      

  5.   


    能否详细告知一下 像这种情况 element.value 的具体用法
      

  6.   

    刚才测试了一下 IE 可以显示即时的 
    火狐和 chrome 都不能显示即时的2楼高手能否告知 让火狐和 chrome支持的方法
      

  7.   


    没有查到element.value  能否告知 具体用法
      

  8.   

    alert(document.getElementsByTagName("input")[0].value);
    就是这样就可以了啊。
    document.getElementsByTagName("input")[0]这个就是取到的那个input对象。
      

  9.   


    这样是能够取到value 
    但是无法获取到修改后的 value值 ,显示的还是原来的值
    在IE下 可以获取到变动后的值 ,但是 FF和CHROME都还是原来的值我想获取 input text 里面实时的值,请问用什么方法让FF和CHROME都能够支持
      

  10.   


    使用这个方法可以获取到 动态的 input type=text 的值了
    目前的问题是 还无法获取到 input type=radio选定的值
    我使用的语句是
     if ( x[i].type == "radio" )
            {
                if ( x[i].checked == "checked" )
                {
                     y += x[i].name + '=' + x[i].value + '\n';
                }
            }请帮个忙 ~
      

  11.   

    问题找到了if ( x[i].checked == "check")
    判断不生效,改为
     if ( x[i].checked ) 就可以了js语言真实前后非常不一致。。
    是一门经验型的语言。。
    体会到前端的不容易了