0

在我的 PHP 网页上,我有三个带有输入字段的表单,每个表单都有自己的提交按钮。此外,该页面上还有一个组合框,位于任何表单之外。一旦用户单击提交按钮,三个表单中的任何一个都应该使用此组合框。

<html>
...
<select name="app">...</select>
...
<form name="form1" action="up1.php" method="post">
...
<input type="submit" value="Submit" />
</form>

<form name="form2" action="up2.php" method="post">
...
<input type="submit" value="Submit" />
</form>

<form name="form3" action="up3.php" method="post">
...
<input type="submit" value="Submit" />
</form>
...
</html>

即使组合框不在表单内,如何读取和发布当前组合框的值以及表单的其他值?

4

2 回答 2

2

如果您使用的是 jQuery,这可能是另一种选择:

<html>
    <head>
    <title>Copy from select to hidden field</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            copy();
            $("#combo").change(function() {
                copy();
            }); 
        }); 
        function copy()
        {
            $(".value-from-combo").each(function() {
                $(this).val($("#combo option:selected").val());
            });   
        }
    </script>
</head>
<body>
    <select id="combo">
        <option value="option1">Option 1</option>
        <option value="option2">Option 2</option>
        <option value="option3">Option 3</option>
    </select>

    <form method="get" name="form1" action="">
        <input name="copied1" class="value-from-combo" type="hidden" />
        <input type="submit">
    </form>

    <form method="get" name="form2" action="">
        <input name="copied2" class="value-from-combo" type="hidden" />
        <input type="submit">
    </form>

    <form method="get" name="form3" action="">
        <input name="copied3" class="value-from-combo" type="hidden" />
        <input type="submit">
    </form>
</body>
</html>
于 2013-06-08T17:26:01.397 回答
2
<select id="app">
  <option value="1">a</option>
  <option value="2">b</option>
  <option value="3">c</option>
</select>
<form onsubmit="gatherComboBox(this)" action="" method="">
<!-- form content -->
</form>
<script>
  function gatherComboBox(f){
    var s=document.getElementById('app'), i=document.createElement('input');
    s=s.options[s.selectedIndex].value;
    i.setAttribute('type','hidden');
    i.setAttribute('name','app');
    i.setAttribute('value',s);
    f.appendChild(i);
  }
</script>
于 2013-06-08T16:23:29.890 回答