使用Javascript获取文本框的价值

时间:2014-02-04 08:57:01

标签: javascript jquery html5

我有一个文本框供用户输入新的电子邮件地址。我有一个调用脚本的按钮。在脚本中,我需要访问页面的几个不同元素。前几个元素作为参数发送到页面(通过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]

我注意到它既不打印文本框的旧值,也不打印用户输入的新值。如何让它获得这个价值?

4 个答案:

答案 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();