首页 新闻 会员 周边 捐助

javascript改变input元素的value该触发什么事件来改变?

0
悬赏园豆:5 [已解决问题] 解决于 2014-10-23 11:28

我写了一个函数来改变input元素的value,可是却无法改变,不知道是不是事件弄错了。还请各位大猿们帮忙参考下。

函数如下:

   function isHidden() {
                
         var isAnonymous = document.getElementById("isanonymous").value.toString();                
         var nickname = document.getElementById("nickname");
                if (isAnonymous == "True") {
                    nickname.value = "匿名";                   
                }
   }

改变的元素如下:

    <label>昵称:</label><input onloadstart="isHidden();" readonly="readonly" type="text" id="nickname" name="NickName" value="$msg.NickName"/>  
    <input type="hidden" name="IsAnonymous" id="isanonymous" value="$msg.IsAnonymous"/>

在input元素的onloadstart事件中触发这个改变,可是却无法实现这个改变,这是为啥呢?

Jack Leonardo的主页 Jack Leonardo | 初学一级 | 园豆:107
提问于:2014-09-05 14:03
< >
分享
最佳答案
0

按照我平时的做法,都是页面加载好了然后用jquery去修改的。。。

$(document).ready(function(){

  if($("#isanonymous").val()=="True"){

    $("#nickname").val( "匿名");

  }

});

 

此外,js里的变量名尽可能不要和页面元素的id或者name相同,有些时候会引发大麻烦

收获园豆:5
焰£天琊 | 菜鸟二级 |园豆:418 | 2014-09-05 14:40

@焰£天琊

这样啊,受教了,jquery比javascript好用吗?

Jack Leonardo | 园豆:107 (初学一级) | 2014-09-05 14:45

@Jack Leonardo: 比如在不同浏览器中可能存在兼容问题,jquery里面已经封装了方法,会省事很多。不过作为原生态的JS,是所有浏览器不用加载额外的包都能解析的。

各有千秋吧

焰£天琊 | 园豆:418 (菜鸟二级) | 2014-09-05 14:49
其他回答(1)
0

onloadstart 是啥事件?

if (isAnonymous == True) { nickname.value = "匿名"; }

骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-09-05 14:08

@骑着蜗牛耍流氓

在元素开始加载的时候触发的事件啊

支持(0) 反对(0) Jack Leonardo | 园豆:107 (初学一级) | 2014-09-05 14:10

@Jack Leonardo: 

你这是原生的js吗?  试试用  window.onload事件

支持(0) 反对(0) 骑着蜗牛耍流氓 | 园豆:135 (初学一级) | 2014-09-05 14:25

@骑着蜗牛耍流氓: 

试过了,不行。

支持(0) 反对(0) Jack Leonardo | 园豆:107 (初学一级) | 2014-09-05 14:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册