在PHP中维护表单选择

时间:2015-08-27 17:13:20

标签: php ajax

我们有一个带有分区下拉的php表单,当选中时会使用onChange事件和ajax调用填充SubDivision下拉列表

初始运行正常,但如果单击“返回”按钮进行更正 - 会出现问题。保留了除法字段,但SubDivision现在是空白的。并且,因为它被onChange填充,我必须将分区更改为其他东西,然后将其更改为显示正确的SubDivisions列表。

使用BACK按钮时,有没有办法在窗体上维护subDivision字段?我们希望页面转到第二个屏幕,在那里他们可以查看他们的选择。如果某些内容看起来不正确,他们需要选择返回并进行更改或更正。

以下是初始表单代码:

<div class="row">
      <div>Nominator's Division<span class="red">*</span> </div>
      <div><select id="NomDivision" name="NomDivision">
           <option value=""> -- Please Select -- </option>
           <?php echo $data->GetDivisions(); ?>
           </select>
      </div>
</div>

<div class="row">
      <div>Nominator's Unit<span class="red">*</span> </div>
      <div><select id="NomUnit" name="NomUnit">
      <option value=""> -- Please Select -- </option>
      </select>
      </div>
</div>

然后填充单位的onChange:

$('#NomDivision').on('change', function(){
            var id = this.value;
            $.ajax({ url: "classes/ajax_calls.php?f=getsubdivisions&id=" + id, type: "GET", dataType: 'html',
                error: function(SMLHttpRequest, textStatus, errorThrown){ alert("An error has occurred making the request: " + errorThrown); },
                success: function(subDivisions){ $("#NomUnit").append('<option value=""> -- Please Select -- </option>').html(subDivisions); }
            });
        });

1 个答案:

答案 0 :(得分:0)

无法取回按钮工作,因此找到了一个简单的解决方法。在表单提交上,我刚添加了一个target =&#34; _blank&#34;在新选项卡上打开预览页面,从而将所有信息保留在前一页上。然后,他们只需关闭该选项卡返回上一页,而不是让后退按钮发出,所有表单信息(包括所有5个下拉菜单的选择)仍然完好无损。