Передача переменной URL через отправку формы HTML с использованием PHP или JavaScript - PullRequest
4 голосов
/ 30 ноября 2010

Мне нужно просто передать переменную формы в переменную URL. Я подозреваю, что это что-то легко сделать, но мне трудно найти четкие шаги (которые не являются тоннами кода) в Интернете в любом месте.

Вот мой текущий код формы

<form id="zip_search" method="post" action="dealers.php">
    <label for="zipfield"><a href="dealers.php">Find a Dealer</a></label>
    <input name="tZip" type="text" id="zipfield" value="ZIP CODE" onblur="if(this.value=='') this.value='ZIP CODE';" onfocus="if(this.value=='ZIP CODE') this.value='';" />
    <input type="image" value="Submit" class="submitbutton" src="/images/submit_button.gif" />
  </form>

И все, что мне нужно, это отправить браузеру что-то вроде этого:

http://www.mydomain.com/dealers.php?zip=55118

Заранее благодарю за любую помощь.


Обновление до вопроса

Благодаря ответам Дрю и Антона, вот обновление. Изменение атрибута входного имени в соответствии с именем переменной URL (tZip to zip) вместе с изменением POST на GET сделали свое дело, но по какой-то причине он также добавляет две дополнительные переменные URL (& x = 0 & y = 0). Я предполагаю, что это что-то не так с моим кодом PHP, так как я не являюсь мастером PHP. Вот весь код:

Функция PHP

<?php
function processForm() {
    $zipCode = $_GET['zip'];
    $url = "dealers.php?zip=" . $zipCode;
    header("Location: $url");
    exit;
}
?>

форма

<form id="zip_search" method="get" action="dealers.php">
    <label for="zipfield"><a href="dealers.php">Find a Dealer</a></label>
    <input name="zip" type="text" id="zipfield" value="ZIP CODE" onblur="if(this.value=='') this.value='ZIP CODE';" onfocus="if(this.value=='ZIP CODE') this.value='';" />
    <input type="image" value="Submit" class="submitbutton" src="/images/submit_button.gif" />
  </form>

Пример вывода URL

http://www.domain.com/dealers.php?zip=12345&x=0&y=0

Дополнительный связанный вопрос

Как это работает, если processForm () определяется, но не вызывается где-либо еще. Мне кажется, что функция processForm () должна быть в атрибуте action в открывающемся элементе формы. Любое понимание? Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 30 ноября 2010

Измените метод формы на "get"

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

Вам потребуется изменить метод формы с POST на GET, а также переименовать текстовый ввод с tZip на zip , иначе ваш URL будет выглядеть так:*http://www.mydomain.com/dealers.php?tZip=55118

вместо

http://www.mydomain.com/dealers.php?zip=55118

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