jzjie 2016-08-23 06:22 采纳率: 0%
浏览 1028

JS初学者提问onchange问题,谢谢大神

 <input type = "text" id = "demo1" onchange = "changeWord()">

这个输入框,鼠标离开变为大写字母,非常简单,可以实现,但是我改了一些地方就不行了
原来
function changeWord(){
var x = document.getElementById("demo1");
x.value = x.value.toUpperCase();
}
鼠标离开输入款 字母变为大写 ,没有问题
改变之后
function changeWord(){
var x = document.getElementById("demo1").value;//加了.value
x = x.toUperCase();//缺少了.value
}这样就不行了,我感觉这跟java中的一样赋值啊,不知道这个.value 跟不加这个.value有什么区别?
为什么要复杂的写成这样子?x.value = x.value.toUpperCase()?在前面加上.value后面不就能写成
x = x.toUperCase();
但是这样不行,没效果了
新手JS求助

  • 写回答

3条回答 默认 最新

  • threenewbee 2016-08-23 06:25
    关注

    当然
    var x = document.getElementById("demo1");
    x.value = x.value.toUperCase();
    的意思是,x是一个控件,将它的值转换为大写,再设置给这个控件的value属性

    var x = document.getElementById("demo1").value;//加了.value
    x = x.toUperCase();//缺少了.value
    的意思是,x是一个字符串,它等于原先文本控件的值,然后让这个字符串转换为大写,再更新字符串,但是这不会影响原来的控件,除非再加上
    document.getElementById("demo1").value = x;

    评论

报告相同问题?

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。