Php, ajax, post запрос

программирование php JavaScript jQuery AJAX

Здравствуйте

Есть страничка, на ней форма примерно следующего содержания:


<form name="numtype" method="post" action="result.php">
Номер:<Br>
<input type="text" name="number">
Выберите тип:<Br>
<input type="radio" name="typemod" value="typea"> Тип 1<Br>
<input type="radio" name="typemod" value="typeb"> Тип 2<Br>
<input type="radio" name="typemod" value="typec"> Тип 3<Br><Br>
<input type="submit" value="Далее">
</form>

Здесь все понятно, в поле номер вводим целое числовое значение, выберем тип и при нажатии кнопки данные отправляются на result.php, мы туда переходим и там их обрабатывает обработчик полученный $_POST['number'] в соответствие с полученным $_POST типа. Собственно с самим обработчиком никаких вопросов не возникает. Задача стоит другая.

Нужно слегка переделать эту форму. Новый вид формы получается примерно следующим:

По прежнему остается поле для вводе номера:

Номер:<Br>
<input type="text" name="number">

Но вместо радио отметок в столбик используются три кликабельных изображения с соответствующими смыслом (тип а, тип б и тип с ).

<a href="result.php"><img src="typeAimg.jpg"></a>
<a href="result.php"><img src="typeBimg.jpg"></a>
<a href="result.php"><img src="typeCimg.jpg"></a>

То есть предполагается что в поле номер вводим целое числовое значение и нажимаем на картинку нужного нам типа. После того как мы нажали картинку необходимо так же перейти на страницу result.php и при этом так же передать туда обработчику данные POST переменных текстового поля и переменную с выбранным типом.

Подскажите, помогите пожалуйста как лучше сделать это. Может быть как-то на ajax? или что-то подобное



Примечание:
Разве <input type="image" передает value? Попробовал как вы написали. $_POST['type'][2] - пустой. Почитал на других ресурсах, вроде везде пишут type="image" не передает данные value.
Ответы:
Картинки связывайте со скрытым инпутом, в котором изменяйте значение в зависимости от клика на картинку.
Мне больше нравится способ с использованием input с type="image"
<form name="numtype" method="post" action="result.php">
 <label for="number">Номер:</label>
 <input id="number" type="text" name="number">
 <label>Выберите тип:</label>
 <input type="image" name="type[]" value="a" src="typeAimg.jpg">
 <input type="image" name="type[]" value="b" src="typeBimg.jpg">
 <input type="image" name="type[]" value="c" src="typeCimg.jpg">
 <input type="submit" value="Далее">
</form>
а на сервере будет $_POST['type'] содержать массив, первые два пораметра это координаты клика по картинке они вам не нужны скорее всего а вот $_POST['type'][2] будет содержать соответствующее value


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.