javascript - HTML 表单文本 onChange 事件刷新页面?
问题描述
"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。但是这样做会刷新页面。我该如何防止这种情况?我在这个网站上进行了一些谷歌搜索和搜索,发现了一些帖子,但这些解决方案似乎都没有奏效,我做错了什么?人们说尝试返回错误;但这对我不起作用。
解决方案
您可以将 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>
推荐阅读
- node.js - Vue cli 未安装
- tailwind-css - 带有 postcss 和 css 模块的 Tailwindcss
- java - Android - 按钮需要多次点击才能执行功能
- c# - CS0117 Form1 不包含应用程序的定义。(Windows 工作室 2019)
- java - 如果一种编程语言编译成 Java 8 字节码,它也能在 Android 上运行吗?
- macos - 找不到 macOS 返回目录中的复制命令
- javascript - 反应本机 PushNotification.cancelLocalNotifications 不起作用
- java - 为什么'replaceAll'方法不在字符串的开头添加空格?
- python-3.x - OSError: [WinError 10038] 尝试对非套接字的操作进行操作。为什么以及我哪里出错了?
- c# - Polly CircuitBreaker 在电路断开时更改 HttpClient 基地址以继续执行请求