提交后在下拉列表中保存表单值

时间:2014-01-24 20:08:41

标签: jquery python html forms

我有jquery的这部分

function retainDropDownValue(){
    var e = document.getElementById("type");
    var savedValue = e.options[e.selectedIndex].value;
    console.log("DEBUGTEST");
}

为了捕获dropd自己的值。我想要它,以便用户点击后 “提交”,下拉列表将保留用户选择的下拉列表中的行为和最后一个选项。

<form action="{{URL_ROOT}}/run/search/" method="post"  id="TypeForm" onsubmit="retainDropDownValue();"  >

<select id="type" onchange="retainDropDownValue();fctCheck(this.value);" style="font-size: 25px;">
    <option value="">Select</option>
    <option value="first_selection">First</option>
   <option value="second_selection">Second</option>
</select>

Term: <input type="text" name="query" size="10" style="font-size: 25px; direction: rtl;" value="{{ query }}"> &nbsp;&nbsp;&nbsp;

<input type="submit" value="Search" onsubmit="submitForm();"> 

这是submitForm函数

function submitForm(){
    $("#TypeForm").submit();    
}

它会提交并保留文本字段,但下拉菜单将重置为“选择”,控制台中的“DEBUGTEST”只会闪烁,直到提交完成。然后它就消失了。

如何点击“搜索”按钮(或输入=提交按钮),它会保留值“first_selection”而不是重置回“选择”?

1 个答案:

答案 0 :(得分:1)

首先,您是否要再次提交页面?如果是这样,你可以使用ajax提交表格,因此你没有丢失表格选择。

在提交后执行retainDropDownValue()时,它已经丢失了已提交的值。

  1. 在提交屏幕之前使用页面级别的变量存储$('#type')。val()并在提交调用或onload后设置

  2. 使用ajax提交表单          $就({     url:form.attr('action'),     数据类型: 'JSON',     异步:假的,     data:form.serialize(),     type:form.attr('method'),     成功:功能(数据){});