两个提交按钮,但第一个返回空

时间:2012-08-27 20:10:54

标签: javascript html

我有第一个选择选项

  <form id="infform" method="post">
      <select id="infmenu" name ="infmenu" size="1" class="select"  >
        <option value="0" >Please Select your article</option>
        <option value="3"  selected='selected' > value 1</option>
        <option value="2"  > value 2</option>
        <option value="18"  > value 3</option>
        <option value="16"  > value 4</option>
     </select>
   <input type="hidden" name="hiddenselect" value="3" />
  </form> 

,第二个是

     <form action="" method="POST" id="form0">
        <input type="text" name="date0" class="tcal" value="" readonly="readonly" /><br />
        <input type="image"   src="../submit.png"/>
        <input type="hidden" name="submit0" />
     </form>

这是我的javascript

     function displayv() {
    var singleValues = $("select option:selected").text();
    $("#hiddenselect").val(singleValues);

    $("select > option:first").prop("disabled", "disabled")
  }

$(document).ready(function(){
    $("select").change(function() {
        displayv();
    });
    displayv();

    $("select#infmenu").change(function() {
        $("#infform").submit();    
    });
});

现在当我选择页面刷新的第一个选项时,我得到了选择的值。 当我提交第二次提交时,页面刷新,第一个选择选项返回空Please Select your article

所以请如何解决这个问题。

编辑: 这个php我如何处理它们之间。

 if (isset($_POST['infmenu'])){

  $infmenu = $_POST['infmenu']; 
     // some sql of updating here
    }

  if (isset($_POST['submit0'])){
     //some updating sql here
      }

3 个答案:

答案 0 :(得分:3)

我真的不清楚你的问题是什么。

如果您在提交第二个表单时说您没有看到您的选择项目值,那么这是正常的和预期的。您有两个独立的表单,因此当您提交第二个表单时,第一个表单中的数据将不会发送到服务器。

提交按钮/图像仅在其自己的表单中发送输入数据,而不是来自html正文标记内任何其他表单的数据。

编辑添加:你可以:

  • 有一个表单标签而不是两个
  • 修改你的jquery,使它将select值放入第二个表单的隐藏字段以及第一个表单的隐藏字段。然后,当提交第二个表单时,让PHP脚本读取隐藏的字段值,并在呈现HTML时使用它来决定哪个选项具有所选属性。
  • 使用带有一些JavaScript的cookie来设置当select值改变时的cookie
  • 使用Ajax进行部分提交 - 假设服务器在处理第二个表单时不需要知道select项的值

答案 1 :(得分:0)

第一个按钮没有分配action=""

答案 2 :(得分:0)

您有两种形式。

当您单击第二个表单中的提交时,当然不会提交第一个表单的数据。

此外,第二种形式的提交按钮没有名称,因此如果单击该按钮,您可能无法在PHP中进行评估。但这是一个不同的故事

你应该把这两个表格放在一个。

如果它们在您的页面上相距太远。你应该用php

在第二种形式的隐藏字段中保存选择框的值