У меня две формы на php-странице. Они отправляются на разные страницы, когда они отправляются. В обеих формах требуется значение dropbox, которое находится внутри формы A. Как получить это значение, отправленное при отправке формы B?
Вы можете скопировать значение 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 перед отправкой
Создайте скрытый ввод в форме 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()
запускает это событие (при загрузке страницы), чтобы обеспечить правильное значение.