Передача идентификатора тега в эту подчиненную форму с помощью onchange = this.form.submit ()

0

Есть ли способ узнать, какую форму для отправки тега?

<form method="POST" action="submit.php">
    <select id="id1" name="sel1" onchange="this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>

    <select id="id2" name="sel2" onchange="this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>
</form>

Не-jQuery-решение предпочтительнее, но не обязательно...

PS Проблема заключается в том, что selected="select" атрибут selected="select" генерируется динамически (я не знаю, какая опция будет выбрана по умолчанию - так что я не могу сравнивать значение по умолчанию с представленным)

  • 0
    выберите -> (через функцию js) скрытое текстовое поле-> php (используя GET или POST)
Теги:

1 ответ

1
Лучший ответ

Первое, что приходит на ум, - это скрытое поле со значением, которое вы задали. Что-то подобное должно делать.

<form method="POST" action="submit.php">
    <input type="hidden" name="submitselect" value="" id="submitselect">
    <select id="id1" name="sel1" onchange="document.getElementById('submitselect').value='sel1';this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>

    <select id="id2" name="sel2" onchange="document.getElementById('submitselect').value='sel2';this.form.submit()">
        <option value="1">First</option>
        <option value="2" selected="selected">Second</option>
    </select>
</form>

В качестве альтернативы вы можете выбрать вариант по умолчанию, например

<option value="" selected>-</option>

Это никогда не было бы выбрано иначе. Таким образом, этот параметр не будет отменен при select который не вызвал бы отправку.

  • 0
    Итак, форма будет представлена на любое изменение выбора с использованием этого кода? (о выбранной опции по умолчанию - у меня нет прав для установки опции по умолчанию)
  • 0
    Да, форма будет отправлена при любом изменении выбора, так же, как ваш текущий код. Что вы имеете в виду, что у вас нет разрешения на установку параметров по умолчанию? Вы уже устанавливаете один, используя selected="selected" .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню