我有一个文本框供用户输入新的电子邮件地址。我有一个调用脚本的按钮。在脚本中,我需要访问页面的几个不同元素。前几个元素作为参数发送到页面(通过PHP)工作正常,但是当我尝试获取文本框的值时,我得不到正确的结果。
这是我的HTML:
<p>Please enter the new email</p>
<input type="email" id="newemail" value="enter new email here">
这是我的JS:
var userid=$('#userId').val();
var oldEmail=$('#useremail').val();
var newEmail=$('#newemail').val();
//I have also tried with var newEmail=document.getElementById("newemail").value
//with no difference in the result
alert(userid + " " + oldEmail + " " + newemail);
警告打印出来:
5 Sammy [object HTMLInputElement]
我注意到它既不打印文本框的旧值,也不打印用户输入的新值。如何让它获得这个价值?
答案 0 :(得分:3)
Javascript区分大小写。 newemail
应为newEmail
。
引用newemail
时,您正在访问window.newemail
,默认情况下会返回ID为newemail
的DOM元素。在该DOM元素上调用.toString()
会生成[object HTMLInputElement]
。
将alert
更改为:
alert(userid + " " + oldEmail + " " + newEmail);
答案 1 :(得分:0)
变量为newEmail
,但在警告您正在使用newemail
时,它们区分大小写。
然后newemail
如何工作,因为它是元素的id,属性将被添加为窗口元素属性
答案 2 :(得分:0)
替换
alert(userid + " " + oldEmail + " " + newemail);
通过
alert(userid + " " + oldEmail + " " + newEmail);
答案 3 :(得分:0)
是否可能存在拼写错误?
alert(userid + " " + oldEmail + " " + newemail);
不适合变量声明:
var newEmail=$('#newemail').val();