我正在寻找一种在用户使用JavaScript应用输入用户名时打招呼的方法。我最接近的是使用:
function getname() {
var number = document.getElementById("fname").value;
alert("Hello, " + fname);
}
<form>
Enter name:<input type="text" id="fname" name="fname" /><br/>
<input type="button" value="greet" onclick="getname()" />
</form>
这会显示一个弹出窗口
你好,[objectHTMLInputElement]
但是,我不想使用弹出窗口,甚至HTML。我只希望JavaScript在提示我输入一个名字后用我的名字打招呼。
答案 0 :(得分:1)
您在getname()函数中使用了错误的var ...
应该在内部警报功能中使用fname
,而不是使用number
,在我的情况下,我将number
更改为string
function getname() {
var string = document.getElementById("fname").value;
alert("Hello, " + string);
}
<form>
Enter name:<input type="text" id="fname" name="fname" /><br/>
<input type="button" value="greet" onclick="getname()" />
</form>
答案 1 :(得分:0)
您得到[objectHTMLInputElement]
的原因是您在警告fname
而不是包含名称(number
?的变量)。
如果您想用文字进行语音转换,则需要一个库,例如Responsive Voice:
function getname() {
var name = document.getElementById("fname").value;
responsiveVoice.speak("Hello, " + name);
}
<script src='https://code.responsivevoice.org/responsivevoice.js'></script>
<form>
Enter name:<input type="text" id="fname" name="fname" /><br/>
<input type="button" value="greet" onclick="getname()" />
</form>