我在php页面上有两个表单。他们提交时会发布到不同的页面。两个表单都需要表单A内的保管箱的值。如何在提交表单B时发布此值?
答案 0 :(得分:2)
您可以在提交时将Dropbox值复制到表单B;
在formB上;
<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);
}
您可以看到演示: Demo 。我在点击提交时进行演示,您会看到表单A中的下拉值将在提交前复制到formB
答案 1 :(得分: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()
触发该事件(在页面加载时),以确保该值最初正确。