有没有办法在HTML元素中获取javascript变量的值?
我知道这听起来很愚蠢,也毫无意义,但我正在尝试创建一个网站,从输入的姓名首字母中查找我工作场所的电子邮件地址。它只有两个文本输入字段,一个用于首字母,一个用于姓氏。我的JavaScript将这些与电子邮件的布局连接起来,并将其设置为变量“email”。如何使用“mailto:”将其设置为按钮的href标记?我尝试使用有没有办法在HTML元素中获取javascript变量的值?,javascript,html,Javascript,Html,我知道这听起来很愚蠢,也毫无意义,但我正在尝试创建一个网站,从输入的姓名首字母中查找我工作场所的电子邮件地址。它只有两个文本输入字段,一个用于首字母,一个用于姓氏。我的JavaScript将这些与电子邮件的布局连接起来,并将其设置为变量“email”。如何使用“mailto:”将其设置为按钮的href标记?我尝试使用onmouseover=“this.href=”mailto:“+email;”但它只是返回未定义; 函数buildEmail(){ var initial=document.g
onmouseover=“this.href=”mailto:“+email;”
但它只是返回未定义;代码>
函数buildEmail(){
var initial=document.getElementById(“initial”).value;
var姓氏=document.getElementById(“姓氏”).value;
var email=首字母+姓氏+“@[emaildomain.com]”
}
输入第一个首字母
输入姓氏
在OP提供代码后编辑
您遇到了冲突,因为email
既是元素的名称,也是变量的名称。试着换一个
此外,一旦buildEmail
函数结束,您的email
变量将超出范围(在函数之外,该变量不存在)。一位评论员建议在window上设置一个属性,该属性可以全局访问。事情的范围非常重要。。您在buildEmail
中声明的变量仅由该函数“查看”。。如果希望其他函数可以访问这些变量。。在浏览器中<可以使用代码>窗口
function buildEmail() {
window.initial = document.getElementById("initial").value;
window.surname = document.getElementById("surname").value;
window.email = initial + surname + "@[emaildomain.com]"
}
你的问题是你的buildEmail没有被调用。事实上,当它被调用时,变量email是函数的作用域,因此它不是全局变量 只需调用onmousedown函数并设置href,这样单击就会触发mailto
函数构建电子邮件(事件){
var initial=document.getElementById(“initial”).value;
var姓氏=document.getElementById(“姓氏”).value;
var email=首字母+姓氏+“@example.com”
event.target.href=“mailto:”+电子邮件;
}
输入第一个首字母
输入姓氏
点击发送电子邮件
现在我们已经有了代码的描述,请给我们代码好吗?:)您可以使用window在窗口中传递email变量以获取它。email
email是函数的作用域,它不是全局的。在单击之前,您不会创建变量,但您使用鼠标盖,以便它在单击之前读取它…@epascarello啊,好的,谢谢,好的,谢谢,但现在它只返回“未定义”:/需要更多时间是的,我试图在没有所有信息的情况下回答,我只是使用了他给出的一个函数,并通过他展示给我们@Matthias的html来访问这些变量