Ложное значение передается в вызове ajax

jadovitaja

Пользователь
Регистрация
01.01.70
Сообщения
2
Реакции
0
Баллы
1
Адрес
Россия
У меня есть вызов Ajax, который проходит через файл json со следующим кодом:
Ложное значение передается в вызове ajax


Он вызывает функцию в теге формы следующим образом:


Код:
function myFunction() {
var x;
x = document.getElementById('numb').value;
alert(x);//this prints 0 every time
if ( isNaN(x) || (x < 0) || (x > 10)) {
alert("Quantity must be a positive number less than 10.");
event.preventDefault();
return false;
} else {
alert("Input OK");
}
}

Код (javascript): Когда я пытаюсь проверить количество, чтобы убедиться, что оно положительное число меньше десяти, я использую следующий javascript:

<form method='POST' action='cart.php' id='cartForm' onsubmit='return myFunction();'>
Код (javascript): Проблема в том, что он не получает значение $_POST текстового поля, он получает нулевое значение, как и то, как текстовое поле инициализируется каждый раз.
 

musika

Пользователь
Регистрация
25.11.13
Сообщения
1
Реакции
0
Баллы
1
Мой друг-программист отметил, что он проходит через цикл идентификаторов, и идентификатор одинаков для каждого ввода текста, поэтому я изменил его на:



и я изменил свою функцию на:


Код:
function myFunction() { var x, i, y; for (i = 1; i < 7; i++) { y = 'numb_' + i; x = document.getElementById(y).value; if ( isNaN(x) || (x < 0) || (x > 10)) { alert("Quantity must be a positive number less than 10."); event.preventDefault(); return false; } else { alert("Input OK"); }
}
}
Код (Javascript): предупреждение (y); каждый раз выводит numb_1, поэтому он не зацикливается должным образом. Как я могу улучшить свой цикл?
 

Gloomhein

Пользователь
Регистрация
17.07.15
Сообщения
4
Реакции
0
Баллы
1
С помощью участника другого форума мне удалось найти решение. Это выглядит так:

Код:
function myFunction() {
var x, y;
var elements = document.querySelectorAll('[id^="numb_"]');
for (var i = 1; i < elements.length; i++) { y = elements[I].id; x = document.getElementById(y).value; if ( isNaN(x) || (x < 1) || (x > 10)) { alert("Quantity must be a positive number less than 10."); event.preventDefault(); return false; } else { return true;
}
}
}
Код (Javascript): [/I]
 
Сверху Снизу