javascript - 输入未添加到数组(初学者)JavaScript
问题描述
当文本写入输入框然后单击按钮时,我希望将文本(值)添加到我为其创建的数组中(该数组称为“主题”)。输入框中的文本(值)未添加...为什么?
var subject = [];
function addSubjects() {
namesInputted = document.getElementById('namesInputter').value;
subject.push(namesInputted);
console.log(subject);
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Prueva tu Suerte</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<form class="" action="index.html" method="post">
<input type="text" id="namesInputter" value="">
<button onclick="addSubjects()">Add Player</button>
</form>
<span id='S'></span>
<span id='V'></span>
<span id='O'></span>
<span id='P'></span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="function.js"></script>
</body>
</html>
解决方案
实际上,您的代码正在运行。输入值附加到array
. 但问题是,您正在使用form
. 因此,当您单击按钮时,它将在将值添加到后立即提交表单array
。所以页面将刷新并且array
将变为空。
form
如果您不想提交数据,只需删除标签。
var subject = [];
function addSubjects() {
namesInputted = document.getElementById('namesInputter').value;
subject.push(namesInputted);
console.log(subject);
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Prueva tu Suerte</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<input type="text" id="namesInputter" value="">
<button onclick="addSubjects()">Add Player</button>
<span id='S'></span>
<span id='V'></span>
<span id='O'></span>
<span id='P'></span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="function.js"></script>
</body>
</html>
推荐阅读
- javascript - 检查是否单击了href按钮然后在php中执行代码
- android - 在本机反应中链接到 Teamviewer
- javascript - 最初收到 FirebaseError: Function Query.where() 需要有效的第三个参数,但未定义。但随后刷新
- r - 从宽变长再变宽
- javascript - 如何不在 AdoniJS 中覆盖我的 sqlite 数据库?
- rpc - Godot 多人游戏 RPC 节点树问题?
- asp.net-mvc - 如何将多个参数从 Kendo.Grid 传递给控制器?
- spring-boot - 使用 Google Cloud Pub/Sub 消息订阅者实现时无法创建 Spring-Boot bean
- c# - 我的数据库不是由 Entity Framework 6 代码优先方法自动创建的吗?
- r - 如何在没有降价的情况下在 R 中将文本打印或添加到 pdf() 中