【发布时间】:2023-02-13 20:54:40
【问题描述】:
带有 JavaScript 函数的 HTML 文件
<html>
<head>
<title>Voice to Text</title>
<script>
function erasText(){
document.getElementById("name").innerHTML = "";
}
</script>
</head>
<body>
<form>
<label>Enter Text: </label>
<textarea placeholder="Enter text here for detection." id="name" name="name" class="result" >
</textarea>
</form>
<div class="options" style="display:none">
<div class="anguage" >
<p>Language</p>
<select name="input-language" id="language"></select>
</div>
</div>
<button class="btn record" id='myid'>
<p><b> Start Listening</b></p>
</button>
<div style="margin-top:-50px;" class="buttons">
<button class="btn clear" id='clr' style="margin-left:150px" onClick="erasText()">
<b>Clear</b>
</button>
</div>
<script>
myid.addEventListener('click',function(){
var speech = true;
window.SpeechRecognition = window.webkitSpeechRecognition;
const recognition = new SpeechRecognition();
recognition.interimResults = true;
recognition.addEventListener('result', e => {
const transcript = Array.from(e.results)
.map(result => result[0])
.map(result => result.transcript)
.join('')
document.getElementById("name").innerHTML = transcript;
console.log(transcript);
});
if (speech == true) {
recognition.start();
}
})
clr.addEventListener("click", () => {
document.getElementById("name").innerHTML = "";
})
</script>
</body>
</html>
当我点击清除按钮时,textarea 上的文本没有被擦除,当我按下“开始收听”时,这个按钮起作用了。我认为“erasText”函数没有调用,上面的代码中只有以下函数在调用:
clr.addEventListener("click", () => {
document.getElementById("name").innerHTML = "";
})
我在单击按钮时调用了 erasText 函数,但我不知道为什么没有调用 erasText 按钮。有没有办法调用这个函数?
【问题讨论】:
-
textarea 是一个输入,所以这样做
document.getElementById("name").value = "" -
谢谢我的问题已解决
标签: javascript html textarea