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;

    评论

报告相同问题?

悬赏问题

  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?