同一页面上的两个表单需要相同元素的值

时间:2014-04-13 17:04:20

标签: javascript php html

我在php页面上有两个表单。他们提交时会发布到不同的页面。两个表单都需要表单A内的保管箱的值。如何在提交表单B时发布此值?

2 个答案:

答案 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()触发该事件(在页面加载时),以确保该值最初正确。