【发布时间】:2012-02-01 17:06:45
【问题描述】:
我正在使用以下代码根据单选按钮的选择来显示或隐藏表单的某个部分。但是,如果我离开页面并返回它(我离开页面以填写表单的其他部分,然后将其放回主表单),即使用户也不会记住单选按钮选择的状态已经做出选择并填写了字段。我的 Jquery 做错了吗?
Jquery 单选按钮隐藏/显示的代码:
$(document).ready(function() {
$("[name=delvchoice]").change(function(){
$("#list").toggle($("[name=delvchoice]").index(this)===1);
});
});
单选按钮页面的 HTML 代码:
<div>
<table>
<tr>
<td>Will the above items be delivered by your department to the Surplus Warehouse?</td>
<td><input type="radio" name="delvchoice" property="delvchoice" value="Yes"/>Yes</td>
<td><input type="radio" name="delvchoice" property="delvchoice" value="No"/>No</td>
</tr>
</table>
</div>
隐藏/显示部分的 HTML 代码:
<div id="list" style="display: none;">
<div>
<table>
<tr>
<td>Should you choose to have Physical Plant Support Services deliver the items for your department you must provide an
account number for the labor charge:</td>
</tr>
</table>
<table>
<tr>
<td>Account Number :</td>
<logic:notEmpty name="SurplusSaveForm" property="acctno1" scope="session">
<td>
<table border="0">
<tr>
<td><bean:write name="SurplusSaveForm" property="acctno1" scope="session"/>-
<bean:write name="SurplusSaveForm" property="acctno2" scope="session"/>-
<bean:write name="SurplusSaveForm" property="acctno3" scope="session"/>-
<bean:write name="SurplusSaveForm" property="acctno4" scope="session"/>
</td>
</tr>
</table>
</td>
</logic:notEmpty>
<logic:empty name="SurplusSaveForm" property="acctno1" scope="session">
<td><html:text size="2" property="acctno1" maxlength="2" onkeyup="nextbox(this,'acctno2');"/>-
<html:text size="2" property="acctno2" maxlength="2" onkeyup="nextbox(this,'acctno3');"/>-
<html:text size="5" property="acctno3" maxlength="5" onkeyup="nextbox(this,'acctno4');"/>-
<html:text size="3" property="acctno4" maxlength="3" onkeyup="nextbox(this,'acctno4');"/>
</td>
</logic:empty>
<td><b><html:submit property="btn_findAccount">Search for and choose</html:submit><br>your Account</b></td>
</tr>
</table>
</div>
【问题讨论】:
-
“当我离开页面时”是什么意思?您只是显示另一个 div,还是导航到一个全新的页面?
-
如果您希望设置保持不变,您将需要使用 cookie 来保留状态。
-
我导航到一个完全不同的页面(例如,如果我点击搜索帐户按钮,用户将被带到一个新页面,如果他们没有搜索他们的帐号知道)
-
当您离开页面并返回时,您会得到一份新的副本。你期待什么?
-
http 是无状态的,回想一下之前访问页面时设置的内容,cookie(可能还有服务器端代码)就是答案。
标签: javascript jquery