Две формы на одной странице требуют значения одного и того же элемента

0

У меня две формы на php-странице. Они отправляются на разные страницы, когда они отправляются. В обеих формах требуется значение dropbox, которое находится внутри формы A. Как получить это значение, отправленное при отправке формы B?

Теги:

2 ответа

2

Вы можете скопировать значение Dropbox в форму B во время отправки;

На форме В;

<form onsubmit="getDropdownValue()">
.....
</form>

И в функции;

function getDropdownValue() {
    var formB = document.getElementById("formB");

    // Get selected value from FormA
    var e = document.getElementById("formADropdown");
    var value = e.options[e.selectedIndex].value;

    // Append it to formB
    var input = document.createElement("input");
    input.type = "hidden";
    input.name = "dropdownValue";
    formB.appendChild(input);   
}

Вы можете увидеть демо: демо. Я демонстративно, когда вы нажмете submit, вы увидите, что dropdownvalue из формы A будет скопировано в formB перед отправкой

1

Создайте скрытый ввод в форме B и поместите событие изменения в выпадающее меню A, которое копирует его значение.

Пример (с помощью jQuery - если вы хотите сделать это с другой библиотекой или простым javascript, вам нужно будет ее адаптировать).

<script type="text/javascript">
$(function(){
    $('#copy-src').change(function(){
        $('#copy-target').val( $(this).val() );
    }).change();
});
</script>

<form id="a" action="/a">
    <input type="text" name="a_only" />
    <select id="copy-src" name="also_b">
        <option value=""></option>
        <option value="foo">Foo</option>
        <option value="bar">Bar</option>
    </select>
    <button type="submit">Submit</button>
</form>

<form id="b" action="/b">
    <input type="text" name="b_only" />
    <input type="hidden" name="also_a" id="copy-target" />
    <button type="submit">Submit</button>
</form>

Функция .change(function(){}) создает событие изменения, чтобы скопировать значение, в то время как окончательный .change() запускает это событие (при загрузке страницы), чтобы обеспечить правильное значение.

  • 0
    Это комментарий, а не ответ.
  • 0
    Вопрос не помечен как jQuery
Показать ещё 5 комментариев

Ещё вопросы

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