Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Вопросы HTML $_POST

Автор вопроса: CodeGuyОтветов: 4

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

<li id="discountCheckbox"       class="     ">
    <label class="desc" id="title416" for="Field416">
        Discounts Available:
            </label>
    <div>
        <span>
    <input id="discountCheckbox"        name="discountCheckbox"         type="checkbox"         class="field checkbox"      value="Past Host Discount - 10%"        tabindex="12"                       />
    <label class="choice" for="Field416">Past Host Discount - 10%</label>
    </span>
        </div>
    </li>


<li id="shipping1"      class="     ">
<label class="desc" id="shippingChoice" name="shippingLabel" value="yahha" for="Field517_0">
    Shipping Options
        </label>
<div>
<input id="9281" name="9821" type="hidden" value="" />
    <span>
<input id="shipping1"       name="shipping1"        type="radio"        class="field radio"         value="cost"        tabindex="13"                        checked="checked"      onclick="setShippingSpan('$2.00');"             />
<label class="choice" for="Field517_0"      >
    $2.00 Shipping Fee</label>
    </span>
    <span>
<input id="shipping2"       name="shipping1"        type="radio"        class="field radio"         value="free"        tabindex="14"           onclick="setShippingSpan('$0.00');"                 />
<label class="choice" for="Field517_1"      >
    I will pick up the items (free shipping)</label>
    </span>
    </div>
</li>

При отправке моей формы у меня есть файл process.php, который запускается. В этом файле я беру значение флажка, используя $_POST["discountCheckbox"]. Но я не могу понять, как получить значение переключателей (определяя, какой из них выбран). Как мне это сделать?

  • У вас есть несколько элементов с одинаковым идентификатором. Это недопустимый HTML. lonesomeday 28.01.2011
  • Я исправил это. Что мне теперь делать? CodeGuy 28.01.2011
  • Также полезно почистить HTML-код, чтобы мы могли помочь вам быстрее... это делает его немного трудным для чтения. Искренне :) JeroenEijkhof 28.01.2011
  • Вы написали $_POST, значит, вы используете PHP? В этом посте это не упоминается, потому что решение по перехвату значения будет включать использование $_POST['shipping1'] для получения значения ваших переключателей. Например, посмотрите эту статью об этом (homeandlearn.co.uk/php/php4p10.html ) JeroenEijkhof 28.01.2011

javascriptformshtmlpost

Ответы

Ответ 1 · рейтинг 3 · Aaron Hathaway

Дайте всем переключателям одинаковое имя, и тогда это имя в вашем $_POST будет иметь значение выбранного переключателя.

Ответ 2 · рейтинг 2 · Macy Abbey

Дайте переключателям одно и то же имя, но разные значения. Когда форма отправлена, найдите выбранное значение, просто проверив значение этого имени в массиве $_POST.

Ответ 3 · David

Я считаю, что ваши input элементы типа radio должны иметь общий атрибут name и различаться своими атрибутами value. Затем в своем PHP-коде вы должны проверить значение $_POST[], проиндексированное по имени, которое должно содержать значение выбранного переключателя.

Ответ 4 · goto-bus-stop

Присвоив всем переключателям одинаковое имя, вы получите значение выбранного в переменной $_POST[name].

<input name="shipping" value="something" type="radio" />

echo $_POST['shipping']; // echoes "something"

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы