Автоматическое заполнение формы и ее отправка не приводит к получению параметров на сервер - PullRequest
1 голос
/ 01 декабря 2010

У меня есть форма, которая автоматически заполняется JS

Моя форма:

<form id="doSubmit" method="post">
    <input type="text" id="usr" />
    <input type="password" id="pwd" />
</form>

Мой JS:

document.forms["doSubmit"].elements["usr"].value = usr;
document.forms["doSubmit"].elements["pwd"].value = psw;
document.forms["doSubmit"].action = location.pathname + "user";
document.forms["doSubmit"].submit();

Теперь на следующей странице, которая является PHP, когда я пытаюсь использовать, я получаю эту ошибку Undefined index, и когда я набираю print_r($_POST), я получаю Array()

Есть идеи, как разместить данные формы на следующей странице?

1 Ответ

8 голосов
/ 01 декабря 2010

Ваши input элементы должны иметь атрибут name:

<form id="doSubmit" method="post" action="">
    <input type="text" id="usr" name="usr" />
    <input type="password" id="pwd" name="pwd" />
</form>

После того, как вы это сделаете, вы сможете увидеть ключи usr и pwd в массиве $_POST в принимающем скрипте PHP. (Ключами будет атрибут HTML name, а значением будет соответствующий атрибут value HTML.)

Итак, скажем, ваша форма в итоге выглядела так:

<form id="doSubmit" method="post" action="">
    <input type="text" id="usr" name="usr" value="someuser"/>
    <input type="password" id="pwd" name="pwd" value="somepassword"/>
</form>

Ваш массив $_POST будет выглядеть так:

Array (
  'usr' => 'someuser',
  'pwd' => 'somepassword'
)

jsFiddle пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...