У меня есть небольшой скрипт, который выполняет множественную проверку двух скрытых полей ввода:
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']; ?>"/>
Не могу понять, как визуализировать правильный алерт в зависимости от типа сделанного контроля. На данный момент я всегда вижу «оповещение («сообщение 1»)», какая бы проблема ни была обнаружена. Я хочу, чтобы сообщение 1 появлялось, если rating3 == 3 && check3 > 22 || check3 ‹ 19, сообщение 2 появится, если rating2 == 2 && check2 > 21 || check2 ‹ 18 и т. д. Как изменить код, чтобы получить такой результат?
.getElementById()
... вы получаете одно и то же значение идентификатора 3 раза. Почему? В любом случае возвращаемое значение этого вызова является элементом DOM, и сравнение элемента DOM с числом не имеет смысла. - person Pointy   schedule 08.10.2013rating1
,rating2
иrating3
будут иметь одинаковое значение. То же самое сcheck1
,check2
иcheck3
. - person Bucket   schedule 08.10.2013