嗨,我是JS的新手,可以使用一些帮助。
所以我基本上试图在提交按钮点击事件中将一些文本从textarea发送到一个名为inputFromText
的函数,但不知何故该函数在点击之前被触发(当通过电子打开html窗口时)当你点击按钮后没有任何反应。
如何防止这种情况发生?
<body>
<form>
<div class="form-group">
<textarea class="form-control" rows="5" id="txa_trainingText"></textarea>
<button type="submit" class="btn btn-default" id="btn_submit">Submit</button>
</div>
</form>
<script>
const trainingText = document.getElementById("txa_trainingText").value;
document.getElementById("btn_submit").addEventListener("click", inputFromText(trainingText));
function inputFromText(text) {
...
}
</script>
</body>
我发现当使用没有text参数的函数时,可以通过编写来解决问题:
function inputFromText(e) {
e.preventDefault();
...
}
答案 0 :(得分:0)
我认为你需要将click事件处理程序包装为一个函数,因此行将显示为:
document.getElementById("btn_submit").addEventListener("click", function() { inputFromText(trainingText)});
答案 1 :(得分:0)
只需将按钮类型=“提交”更改为按钮类型=“按钮”
<button type="button" class="btn btn-default" id="btn_submit">Submit</button>