如何动态改变HTML中input的属性值,如value等,我用JS可以动态的改变图片内容,就是改变一下src就可以了部分代码
var father = opener.document.getElementById('father');
father.src = this.alt;但是
opener.document.getElementById('imgSrc').setAttribute('value',this.alt);
就不可以,直接改value值也不可以。在IE,Firefox中查看源代码,他的value制还是默认的,球解压

解决方案 »

  1.   

    document.getElementById("imgSrc").setAttribute("value", document.getElementById('imgSrc').getAttribute("alt"))document.getElementById('imgSrc').value = document.getElementById('imgSrc').alt;
    看你this怎么用了……
      

  2.   

    你要看都是那些元素支持value,不支持value属性那样做肯定不对!来这里看看你选定元素是否支持value
      

  3.   

    <input type"text" value="img/0.png" name="img_src">
    opener.document.getElementById('imgSrc').setAttribute('value',this.alt);
    这句代码就是将图片的地址赋给img_src的,可是就是无法动态改变
      

  4.   

    var father = opener.document.getElementById('father');
    father.src = this.alt;
    还有,上面这两句代码没有问题,可以动态的改变图片内容,所以this.alt的确就是图片的地址,但就是无法复制给Text中的value属性
      

  5.   

    opener.document.getElementById('imgSrc').value = this.alt.value;
      

  6.   

    本帖最后由 xuzuning 于 2011-04-22 16:09:47 编辑
      

  7.   

    5,6楼同学,我用过你们的方法,不行.而且我说了  
    father.src = this.alt;
    这句代码可以执行,说明不用在alt后面加value了.而且我一开始用的就用写的是
    opener.document.getElementById('img_src').value = this.alt;
    只不过不执行,所以上网才搜到了setAtrribute这个方法
      

  8.   

    opener.document.getElementById('imgSrc').setAttribute('value',this.alt);如果你是放到一个事件触发的话,例如click中那么你是怎么保证this的就是你要的元素的呢?document.getElementById('img_src').value = 'xxxx';看行不行
      

  9.   

    8楼同学,
    var father = opener.document.getElementById('father');
    father.src = this.alt;
    这两句代码成功执行,father.src = this.alt;这句话就将图片2的地址传递给了图片1,确实是动态的改变了图片.还有,一开始我就用过你建议的方法,写过
    document.getElementById('img_src').value = 'asdas';
    但是依然不行,还是初始值
      

  10.   

    建议你还是把代码贴出来一部分你的input的全部

    script中的代码别因为是id和name错误而引起的问题
      

  11.   

    很感谢你的耐心
    先贴一部分吧
    <div id="reg">
    <h2>会员注册</h2>
    <form action="register.php?action=register" method="post" name="register">
    <dl>
    <dt>请认真填写以下内容</dt>
    <dd><input type="hidden" name="uniqid" value="<?php echo $uniqid ?>"/></dd>
    <dd>用户姓名:<input type="text" name="username" class="text" />(*必填 至少8位)</dd>
    <dd>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="pw" class="text" />(*必填 至少10位)</dd>
    <dd>确认密码:<input type="password" name="repw" class="text" />(*必填  同上)</dd>
    <dd>密码提示:<input type="text" name="question" class="text" />(*必填  至少16位)</dd>
    <dd>密码回答:<input type="text" name="answer" class="text" />(*必填  至少16位)</dd>
    <dd>性&nbsp;&nbsp;&nbsp;&nbsp;别:<input type="radio" name="sex" value="man" checked="checked"/>男<input type="radio" name="sex" value="woman"/>女</dd>
    <dd ><img src="face/0.png" alt="头像选择"  id="father" name="" /><input type="text" name="imgSrc" id="imgSrc" value="img/01.png" readonly="readonly" /></dd>
    <dd>电子邮件:<input type="text" name="email" class="text"/>(*必填 激活账户)</dd>
    <dd> QQ  :<input type="text" name="qq" class="text"/></dd>
    <dd>主页地址:<input type="text" name="site" class="text" value="http://"/></dd>
    <dd>验&nbsp;证&nbsp;码:<input type="text" name="checkCode" class="text yzm"/><img src="includes/code.inc.php" id="code" /></dd>
    <dd><input type="submit" name="sub" value="注册" class="submit" /></dd>
    </dl>
    </form>
    </div>
    window.onload = function () {
    var imgArr = document.getElementsByTagName('img');
    for(var i=0;i<=imgArr.length;i++){
    imgArr[i].onclick = 
    function (){
    var father = opener.document.getElementById('father');
    father.src = this.alt;
    //opener.document.getElementById('imgSrc').setAttribute('value',this.alt);
    opener.document.getElementById('imgSrc').value = this.alt;
    };
    }
    };
      

  12.   

    这样试试。father.src = this.alt;
    //改为
    father.src = imgArr[i].alt;opener.document.getElementById('imgSrc').value = this.alt;
    //改为
    opener.document.getElementById('imgSrc').value = imgArr[i].alt;
      

  13.   

    最好还是用Firebug或者JS控制台调试下,看看有没有报错。