ul в форме не отправляется на $ _POST - PullRequest
3 голосов
/ 03 мая 2011

У меня есть этот ul в моей форме

<form action="step1/" method="post" enctype="multipart/form-data" id="form">
    <div class="tabs">
        <ul>
            <li class="dot clicked radio_buttons"></li>
            <li class="active not_the_dot"><span class="l"></span><a href="#">Standard Class</a><span class="r"></span></li>
            <li class="dot radio_buttons"></li><li class="not_the_dot"><span class="l"></span><a href="#">Business Class</a><span class="r"></span></li>
            <li class="dot radio_buttons"></li><li class="not_the_dot"><span class="l"></span><a href="#">Premium</a><span class="r"></span></li>
        </ul>
....
....
....

, а затем у меня есть другие элементы в форме, такие как

 <select name="quantity_id" class="quantity_select">
            <option selected="selected" value="0">SELCT STATION QUANTITY</option>
            <option value="1">1 Station</option>
            <option value="2">2 Station</option>
            <option value="3">3 Station</option>
            <option value="4">4 Station</option>
            <option value="5">5 Station</option>
    </select>

, и в форме представить количество_идентификатора присутствует, нозначение ul не .... есть ли что-то, что мне нужно изменить, чтобы сделать это значение доступным .... в основном мне нужен текст "активного" класса, такой как Standard, business

Ответы [ 4 ]

8 голосов
/ 03 мая 2011

<ul/> элементы не являются элементами формы и не будут опубликованы при отправке формы. Если вам нужно захватить эти значения, вы можете сохранить их в элементе формы hidden.

Пример для захвата текста в скрытое поле, добавление скрытого поля.

<input type="hidden" id="activeThing" name="activeThing"/>

И привязать событие клика к li:

$("ul li.not_the_dot").click(function(){
  $("#activeThing").val($(this).find("a").text());
});
2 голосов
/ 03 мая 2011

Элементы <ul> и <li> не являются элементами формы, поэтому они не будут отправлены при размещении формы. Вам либо нужно преобразовать значения <li> в элементы управления формы, например переключатели или выбор или добавление некоторого JavaScript-обработчика событий к элементам <li>, чтобы при их выборе (или любом другом событии, выполняемом для них) скрытое поле обновлялось значением. Скрытое поле формы будет отправлено в POST.

2 голосов
/ 03 мая 2011

HTML-форма отправляет на сервер только значения своих входных (таких как input, textarea, select) тегов в параметрах.

, поэтому, если вы хотите отправить что-либо на сервер, сделайте это элементом ввода.Если у вас есть предопределенная переменная или значения для отправки на сервер, используйте для этого скрытые поля.

1 голос
/ 03 мая 2011

Ожидаете ли вы, что UL отправит информацию в форму?Я не буду.Вам необходимо использовать ввод формы (т. Е. SELECT, TEXT, TEXTAREA, RADIO, CHECKBOX, HIDDEN и т.Вам нужно будет изменить код, чтобы при выводе активного LI он выводил что-то вроде:

<input type="hidden" name="active" value="Standard">

Затем он будет передан в форму.

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