В моей форме у меня есть одно скрытое поле ввода (не множественное или петлевое): < /p>
Код: Выделить всё
и в моем JS у меня есть:
Код: Выделить всё
var newIDs = [] ;
...
...
newIDs.push(thisID) ;
...
...
document.getElementById('nameIDs').value = newIDs
< /code>
Когда форма отправляется, я вижу три значения в полезной нагрузке:
nameIDs[] : 1106,1135,2110Когда PHP получает информацию:
$nameIDs = $_POST['nameIDs'] ;
echo count($nameIDs)
// outputs "1"
// but the count should be 3
< /code>
ОК, так что, думая, что Php рассматривает все названия как строку с запятыми, которые я делаю: < /p>
$nameIDs = explode(",",$_POST['nameIDs']) ;
echo count($nameIDs) ;
// but this errors out on the `explode` saying that argument #2
// must be a string, but an array was given
< /code>
ОК, так что же случилось ... эта штука или массив? Если я сделаю: < /p>
$nameIDs = $_POST['nameIDs'] ;
echo $nameIDs ;
// It prints out the warning "Array"
// with no actual values.
< /code>
Итак, кажется, это думает, что это массив, но только с одним значением, поэтому я пытаюсь: < /p>
$nameIDs = $_POST['nameIDs'] ;
foreach ($nameIDs as $id) {
echo "This id is: $id" ;
}
// it prints out just '1106', but not the other two values
< /code>
Итак ... PHP видит массив с только 1 значением в нем ... что случилось с двумя другими значениями, которые я ясно вижу, передаются в него? Чего мне здесь не хватает?
Подробнее здесь: https://stackoverflow.com/questions/797 ... processing
Мобильная версия