Javascript 使用会话属性设置值时重置表单字段值

Javascript 使用会话属性设置值时重置表单字段值,javascript,html,jsp,Javascript,Html,Jsp,我有一个带有myName文本字段的搜索表单 加载时,表单中的字段使用session属性设置 比如: <% String nameValue = (String)session.getAttribute("nameValue"); %> 然而,这也不起作用 任何解决方案??该不会清除输入值。它只是将输入值重置为初始状态。更改该值,然后单击“重置”按钮。它的实际工作将是明确的 关于JS函数的问题;onclick将在type=“reset”执行其默认作业(重新显示原始值)之前运行。因此

我有一个带有myName文本字段的搜索表单

加载时,表单中的字段使用session属性设置

比如:

<% String  nameValue = (String)session.getAttribute("nameValue"); %>
然而,这也不起作用

任何解决方案??

不会清除输入值。它只是将输入值重置为初始状态。更改该值,然后单击“重置”按钮。它的实际工作将是明确的

关于JS函数的问题;onclick将在
type=“reset”
执行其默认作业(重新显示原始值)之前运行。因此,您需要将
type=“reset”
更改为
type=“button”


与具体问题无关我建议使用重新显示值:

value="${nameValue}"
这样,您就不需要再使用难看的
来获取会话属性。此外,每当涉及用户控制的输入时,EL都可以通过使用
fn:escapeXml()
对其进行转义来防止:

另见:

谢谢!!那奏效了。。但有一个疑问:在输入标记onclick属性中添加“returnfalse;”和添加returnfalse有什么区别;作为fnFormReset()的最后一行??因为后者不起作用……因为您忽略了函数的返回值。使用
onclick=“return fnFormReset();”
。但是对于您的特殊要求,使用
type=“button”
确实更好,因为您实际上根本不想重置(重新初始化默认值)表单,而是想清除(删除所有值)表单。请检查这些链接,然后解释您的答案。我不明白??这是否意味着所有字段(单选按钮、下拉列表等)都将重置为空白值???
<input type="reset" value="Reset" id="Reset"/>
<input type="reset" value="Reset" onclick="fnFormReset()"/>
function fnFormReset(){
            alert("here");
            document.myForm.myName.value = "";
        }
<input type="button" value="Reset" onclick="fnFormReset()"/>
<input type="reset" value="Reset" onclick="fnFormReset(); return false;"/>
value="${nameValue}"
value="${fn:escapeXml(nameValue)}"