Если оператор с несколькими условиями неисправен

Я пытаюсь проверить HTML-форму через jQuery. Однако второе условие (а именно, что значение текстового поля должно быть определенным числом), похоже, не работает. Если бы кто-нибудь мог показать почему, это было бы здорово. Спасибо.

Я приложил код к этому вопросу.

$("#sample1").keyup(function (e) {
	var s_id = $('#sample1').val();

    if (e.keyCode == 13 || s_id= = "220764690") {
        alert('Captured Enter !')
        // Do whatever you need
    }
});
h1{
	text-align:center;
	font-family: 'Montserrat', sans-serif !important;

}

.sample1{
	text-align: center;
}

.insert {
  display: inline-block;
}

.log{
	background-color:lightblue;
	display: inline-block;
	padding:90px;
  vertical-align: middle;

}

.logo{
  display: block;
    margin: 0 auto;
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><link href = "https://fonts.googleapis.com/css?family=Montserrat" rel = "stylesheet">
<link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.0/material.amber-pink.min.css" />
<script src = "https://storage.googleapis.com/code.getmdl.io/1.0.0/material.min.js"></script>
<link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons">

<center><div class = "log">
<h1>Hey Technite!</h1>
<center>
<form action = "#">
  <div class = "insert mdl-textfield mdl-js-textfield textfield-demo">
  
		<input class = "mdl-textfield__input" type = "text" id = "sample1" />
    <label class = "mdl-textfield__label" for = "sample1" id= "atext">Student ID</label>
  </div>
	</form>
	</center>
	</div>
	</center>
<br><br><br><br><br>
<img src = "https://qph.fs.quoracdn.net/main-qimg-00f778bc5f5fcb5d79a0372986ab1e66.webp" class = "logo">

предупреждение отображается, когда я запускаю фрагмент кода и ввожу 220764690 в качестве идентификатора студента

Jeffry Evan 05.05.2018 04:16

Правильно, однако, без нажатия клавиши ввода не обойтись.

DarkRunner 05.05.2018 04:53

@DiViHart, вы хотите получать оповещения без ввода ключа?

Kiran Shahi 05.05.2018 04:58

Прямо сейчас он отображает предупреждение, как только я заканчиваю набирать 220764690. Однако я хочу нажать Enter, чтобы активировать событие.

DarkRunner 05.05.2018 05:00
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
4
62
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

У вас есть небольшая ошибка в вашем состоянии if, вместо || вам нужно использовать &&, чтобы проверить, что пользователь ввел ключ enter и 220764690 на input.

$("#sample1").keyup(function (e) {
	var s_id = $('#sample1').val();

    if (e.keyCode == 13 && s_id= = "220764690") {
        alert('Captured Enter !')
        // Do whatever you need
    }
});
h1{
	text-align:center;
	font-family: 'Montserrat', sans-serif !important;

}

.sample1{
	text-align: center;
}

.insert {
  display: inline-block;
}

.log{
	background-color:lightblue;
	display: inline-block;
	padding:90px;
  vertical-align: middle;

}

.logo{
  display: block;
    margin: 0 auto;
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><link href = "https://fonts.googleapis.com/css?family=Montserrat" rel = "stylesheet">
<link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.0/material.amber-pink.min.css" />
<script src = "https://storage.googleapis.com/code.getmdl.io/1.0.0/material.min.js"></script>
<link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons">

<center><div class = "log">
<h1>Hey Technite!</h1>
<center>
<form action = "#">
  <div class = "insert mdl-textfield mdl-js-textfield textfield-demo">
  
		<input class = "mdl-textfield__input" type = "text" id = "sample1" />
    <label class = "mdl-textfield__label" for = "sample1" id= "atext">Student ID</label>
  </div>
	</form>
	</center>
	</div>
	</center>
<br><br><br><br><br>
<img src = "https://qph.fs.quoracdn.net/main-qimg-00f778bc5f5fcb5d79a0372986ab1e66.webp" class = "logo">

если вы хотите, чтобы предупреждение показывалось, когда у вас есть этот идентификатор, нажмите клавишу ввода, вам нужно использовать оператор &&, а не ||

Ответ принят как подходящий

Попробуйте использовать оператор && вместо ||. Таким образом, вы можете получить оба условия, если они верны.

$("#sample1").keyup(function (e) {
    var s_id = $('#sample1').val();

    if (e.keyCode == 13 && s_id= = "220764690") {
        alert('Captured Enter !')
        // Do whatever you need
    }
});

Спасибо. Не осознавал тонкости различия.

DarkRunner 05.05.2018 21:58

Другие вопросы по теме