#javascript #html #css
Вопрос:
Это снова я!
Я пытаюсь найти значение ввода и проверить, является ли значение определенной строкой после нажатия кнопки. Это сбивает с толку, но вот мой код:
var codeenter = document.getElementById("code")
console.log("Script")
function check() {
var codecheck = codeenter.value;
console.log("Started, you have clicked it.")
if (codecheck === "109843") {
document.getElementById("wel").innerHTML = "Hey, Sam King"
}
}
#title {
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
text-align: center;
}
html {
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
}
#button {
width: 20em;
height: 2em;
background-color: aliceblue;
border: none;
}
#name {
text-align: center;
object-position: center;
margin: auto 0px;
}
#code {
text-align: center;
}
#emsub {
background-color: aquamarine;
border: none;
width: 10em;
height: 2em;
}
<!DOCTYPE html>
<title>Emergency Login</title>
<link rel="stylesheet" href="./style.css">
<body>
<form action="./emergencysucess.html">
<input type="text" id="code" placeholder="Emergency Code">
<input type="text" id="name" placeholder="Your Name">
<br>
<button type="submit" id="emsub" onclick="check">Login</button>
</form>
</body>
<script src="./script.js"></script>
Все это работает, хотя я не думаю onclick="check"
, что это работает, так как он даже не запускает функцию, потому что, как вы можете видеть в коде, он должен что-то регистрировать, но он даже не регистрирует это, так что я немного смущен.
Кроме этого, нет никаких других сообщений об ошибках и «emergencysucess.html» это досье.
Не могли бы вы помочь?
Не путайте, он записывает сценарий в начале файла .js.
Спасибо!
Комментарии:
1. где вы ожидаете увидеть журналы? Этот код обновит страницу, поэтому журналы на стороне клиента исчезнут
2. Я ожидаю увидеть его в консоли, там же, где и журнал сценариев. Я вроде как новичок, так что не используй все эти крутые выражения, лол.
3. сформируйте onsubimit, а затем превентируйте. Кнопка отправляет форму — так она перенаправляет страницу.
4. Что ты имеешь в виду? Пожалуйста, опубликуйте это в ответе.
5. @Samyk: «это не меняет html на другой странице» — Ну нет, это не так. Потому что код выполняется на этой странице. Рассматривайте каждую страницу как свое собственное приложение. Когда один выгружается, а другой загружается, любой код с этой предыдущей страницы больше не выполняется. Похоже, вы хотите запустить какой-то код на какой-то другой странице, а не на этой.
Ответ №1:
У вас есть 2 причины, по которым это не работает:
- В
onclick
том случае, если вы не пишете функцию, вам нужно вызвать эту функцию. - При использовании
type="submit"
html попытаюсь отправить форму на вашaction
. Если вы не хотите, чтобы это произошло, вам нужноreturn false
отonclick
.
var codeenter = document.getElementById("code")
console.log("Script")
function check() {
var codecheck = codeenter.value;
console.log("Started, you have clicked it.")
if (codecheck === "109843") {
document.getElementById("wel").innerHTML = "Hey, Sam King"
}
}
#title {
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
text-align: center;
}
html {
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
}
#button {
width: 20em;
height: 2em;
background-color: aliceblue;
border: none;
}
#name {
text-align: center;
object-position: center;
margin: auto 0px;
}
#code {
text-align: center;
}
#emsub {
background-color: aquamarine;
border: none;
width: 10em;
height: 2em;
}
<form action="./emergencysucess.html">
<input type="text" id="code" placeholder="Emergency Code">
<input type="text" id="name" placeholder="Your Name">
<br>
<button type="submit" id="emsub" onclick="check(); return false">Login</button>
</form>
<div id="wel"></div>
Ответ №2:
Вам нужно использовать event.preventDefault()
, чтобы остановить действие кнопки «Отправить» по умолчанию.
https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
var codeenter = document.getElementById("code")
console.log("Script")
function check(event) {
event.preventDefault();
var codecheck = codeenter.value;
console.log("Started, you have clicked it.")
if (codecheck === "109843") {
document.getElementById("wel").innerHTML = "Hey, Sam King"
}
}
#title {
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: xx-large;
text-align: center;
}
html {
font-family: Verdana, Geneva, Tahoma, sans-serif;
text-align: center;
}
#button {
width: 20em;
height: 2em;
background-color: aliceblue;
border: none;
}
#name {
text-align: center;
object-position: center;
margin: auto 0px;
}
#code {
text-align: center;
}
#emsub {
background-color: aquamarine;
border: none;
width: 10em;
height: 2em;
}
<!DOCTYPE html>
<title>Emergency Login</title>
<link rel="stylesheet" href="./style.css">
<body>
<form action="./emergencysucess.html">
<input type="text" id="code" placeholder="Emergency Code">
<input type="text" id="name" placeholder="Your Name">
<br>
<button type="submit" id="emsub" onclick="check(event)">Login</button>
</form>
<p id="wel" />
</body>
<script src="./script.js"></script>