我有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 }}">
<input type="submit" value="Search" onsubmit="submitForm();">
这是submitForm函数
function submitForm(){
$("#TypeForm").submit();
}
它会提交并保留文本字段,但下拉菜单将重置为“选择”,控制台中的“DEBUGTEST”只会闪烁,直到提交完成。然后它就消失了。
如何点击“搜索”按钮(或输入=提交按钮),它会保留值“first_selection”而不是重置回“选择”?
答案 0 :(得分:1)
首先,您是否要再次提交页面?如果是这样,你可以使用ajax提交表格,因此你没有丢失表格选择。
在提交后执行retainDropDownValue()时,它已经丢失了已提交的值。
在提交屏幕之前使用页面级别的变量存储$('#type')。val()并在提交调用或onload后设置
使用ajax提交表单 $就({ url:form.attr('action'), 数据类型: 'JSON', 异步:假的, data:form.serialize(), type:form.attr('method'), 成功:功能(数据){});