jQuery / js val () перезаписывает PHP '$ _POST [' field '].Как исправить? - PullRequest
0 голосов
/ 09 сентября 2010

У меня довольно сложная (для меня!) Проверка формы.Я сделал все js, и теперь я занимаюсь php.

Дело в том, что я добавил возможность копировать часть входных данных в другой, похожий раздел (получатель -> плательщик).Все это делается с помощью jQuery, сначала скопировав $("input.payer_sth").val() в $("input.payer_sth"), а затем снова и снова, делая это с помощью keyup и blur.

Все мои входные данные построены так:

<input id="payer_name" name="payer_name" class="foo" type="text" value="<?=$_POST['payer_name']?>"/>

до тех пор, пока те, которые не были изменены с помощью jQuery, работают правильно при отправке и «назад», те, которые изменили val(), остаются пустыми на обратной стороне.

Для меня очевидно, что jQuery перезаписываетvalue="<?=$_POST['field']?>".

Как это можно исправить?

1 Ответ

0 голосов
/ 09 сентября 2010

Исходя из моих комментариев выше, вы можете сделать это на стороне сервера, а не на стороне клиента.

Пример (не самый чистый, но вы получите точку)

<input id="payer_name" name="payer_name" class="foo" type="text" value="<?= (!isset($_POST['player_name'])) ? 'Enter your name' : $_POST['payer_name']?>"/>

Итак, что это будет делать, если нет установленного поста, он выведет «Введите ваше имя» в поле, если установлен $ _POST, он выведет значение поста в поле.

Конструкция называется троичным оператором: http://php.net/manual/en/language.operators.comparison.php

Вы можете немного ее очистить, но это поможет, и вы избежите использования JavaScript для чего-то подобного, гдеКонечный пользователь не должен требовать JS.

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