我写了一个函数来改变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事件中触发这个改变,可是却无法实现这个改变,这是为啥呢?
按照我平时的做法,都是页面加载好了然后用jquery去修改的。。。
$(document).ready(function(){
if($("#isanonymous").val()=="True"){
$("#nickname").val( "匿名");
}
});
此外,js里的变量名尽可能不要和页面元素的id或者name相同,有些时候会引发大麻烦
@焰£天琊
这样啊,受教了,jquery比javascript好用吗?
@Jack Leonardo: 比如在不同浏览器中可能存在兼容问题,jquery里面已经封装了方法,会省事很多。不过作为原生态的JS,是所有浏览器不用加载额外的包都能解析的。
各有千秋吧
onloadstart 是啥事件?
if (isAnonymous == True) { nickname.value = "匿名"; }