У меня есть небольшой скрипт, который делает несколько проверку на двух скрытых полей ввода:Multiple оповещения Javascript
function checkfs()
{
var rating1 = (document.getElementById("rating").value);
var rating2 = (document.getElementById("rating").value);
var rating3 = (document.getElementById("rating").value);
var check1 = (document.getElementById("countpl").value);
var check2 = (document.getElementById("countpl").value);
var check3 = (document.getElementById("countpl").value);
if (rating3 == 3 && check3 > 22 || check3 < 19){
alert("message 1");
window.location.href = 'myteam.php';}
else if (rating2 == 2 && check2 > 21 || check2 < 18){
alert("message 2");
window.location.href = 'myteam.php';}
else if (rating1 == 1 && check1 > 20 || check1 < 17){
alert("message 3");
window.location.href = 'myteam.php';}
else {return true;}
}
window.onload = checkfs;
HTML
<input name="countpl" id="countpl" type="hidden" value="<?php echo $row_checkfs['count(f_player.id)']; ?>"/>
<input name="rating" id="rating" type="hidden" value="<?php echo $row_checkfs['rating']; ?>"/>
Я не могу понять, как визуализировать правильное оповещения в зависимости от тип контроля, который был сделан. На данный момент я всегда вижу «alert (« message 1 »)« какая бы ни была проблема, которая была найдена. Я хочу, чтобы сообщение 1 появилось, если рейтинг3 == 3 & & check3> 22 || check3 < 19, сообщение 2 появится, если рейтинг2 == 2 & & check2> 21 || check2 < 18 и т. д. Как мне изменить код, чтобы получить этот результат?
звонки на '.getElementById()' ... вы получаете то же "ID" значение 3 раза , Зачем? В любом случае возвращаемое значение этого вызова является элементом DOM, а сравнение элемента DOM с номером не имеет смысла. – Pointy
То, как вы это делаете, 'rating1',' rating2' и 'rating3' будет иметь одинаковое значение. То же самое с 'check1',' check2' и 'check3'. – Bucket