HTML表单文本onChange事件刷新页面吗?

时间:2018-06-27 16:38:02

标签: javascript html form-submit html-form page-refresh

"use strict";

var SEED = "";

function seedSubmit() {
    var input_box = document.getElementById("seed-form");
    SEED = input_box.elements[0].value;
}
<form id="seed-form">
    <p>Seed:</p>
    <input type="text" onchange="seedSubmit(); return false;">
    <input type="button" onclick="seedSubmit()" value="Submit">
</form>

这是HTML:

<form id="seed-form">
    <p>Seed:</p>
    <input type="text" onchange="seedSubmit(); return false;">
    <input type="button" onclick="seedSubmit()" value="Submit">
</form>

这是JavaScript:

"use strict";

var SEED = "";

function seedSubmit() {
    var input_box = document.getElementById("seed-form");
    SEED = input_box.elements[0].value;
}

然后我将SEED变量用于其他内容。基本上,您在框中键入内容,然后按提交。如果提交按钮为type =“ submit”,则刷新页面,因此必须为type =“ button”,然后工作正常。但是我根本不想输入任何按钮,而是想要输入文本并按Enter。但是这样做会刷新页面。我该如何预防?我在该网站上进行了谷歌搜索和搜索,发现了一些帖子,但这些解决方案似乎都不起作用,我在做什么错?人们说try返回false;但这对我不起作用。

1 个答案:

答案 0 :(得分:0)

您可以将eventListener添加到“提交”并使用preventDefault方法,例如:

var SEED ="";
var form = document.getElementById("seed-form");
form.addEventListener("submit", function(event){
event.preventDefault();
var input_box = document.getElementById("seed-form");
    SEED = input_box.elements[0].value;
console.log(SEED);
});
<form id="seed-form">
    <p>Seed:</p>
    <input type="text" >
    <input type="submit" value="Submit">
</form>