Кнопка отмены не работает для окна подтверждения
Я пытаюсь проверить переключатели в JavaScript, и это мой код:
if (document.ExamEntry.GCSE.checked == true) {
confirm("You have selected GCSE. Is this correct?");
}
if (document.ExamEntry.AS.checked == true) {
confirm("You have selected AS. Is this correct?");
}
if (document.ExamEntry.A2.checked == true) {
confirm("You have selected A2. Is this correct?");
}
Откроется окно подтверждения, и нажатие кнопки "Отправить" успешно переведет вас на следующую страницу, однако кнопка "Отмена", похоже, не работает - она просто возвращает вас на следующую страницу, когда я хочу, чтобы она осталась на странице, чтобы вы могли изменить ваш вариант.
Я пробовал такие вещи, как результат возврата; результат = ложь
Они либо не работают, либо, если они работают, то наоборот, кнопка отмены работает, оставаясь на той же странице, но это будет происходить и с кнопкой отправки.
3 ответа
Проверьте документацию для подтверждения. Это говорит,
result - логическое значение, указывающее, был ли выбран OK или Cancel (true означает, что OK)
Это означает, что каждая из ваших строк должна проверять возвращаемое значение. Краткий способ сделать это, например:
if (!confirm("You have selected A2. Is this correct?")) {
// event.cancel = true, or whatever you need to do on your side to cancel
} // otherwise fall through and do what you're doing.
Как и сейчас, так как вы никогда не смотрите на возвращаемое значение confirm
Таким образом, вы всегда проваливаетесь на ваш случай "успеха".
if (document.ExamEntry.GCSE.checked == true) {
if(confirm("You have selected GCSE. Is this correct?")) {
// do something
}
} if (document.ExamEntry.AS.checked == true) {
if(confirm("You have selected AS. Is this correct?")) {
// do something
}
}
if (document.ExamEntry.A2.checked == true) {
if(confirm("You have selected A2. Is this correct?")) {
//do something
}
}
var gcse = true,
as = true,
a2 = true;
if (document.ExamEntry.GCSE.checked == true) {
gcse = confirm("You have selected GCSE. Is this correct?"));
}
if (document.ExamEntry.AS.checked == true) {
as = confirm("You have selected AS. Is this correct?");
}
if (document.ExamEntry.A2.checked == true) {
a2 = confirm("You have selected A2. Is this correct?");
}
if (gcse && as && a2) {
// you're golden
window.location.href = 'otherpage'
}