用JavaScript打印语句(不用于控制台)

时间:2019-01-07 18:40:06

标签: javascript html input printing

我正在寻找一种在用户使用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在提示我输入一个名字后用我的名字打招呼。

2 个答案:

答案 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>