我需要在点击提交按钮时显示消息“请等待处理”,使用隐藏的DOM元素,其中包含消息并使其可见,但消息未显示。
我的表格和我的验证功能的html如下所示。
<form name="siteSearchForm" method=post action="<%=request.getContextPath()%>/servlet/visibilityController" onsubmit="javascript:return validate();on_load()">
<td align="center" width="10%"><input type=submit name="siteSearchSubmit" value="SUBMIT" > <input type="RESET" name="clearTN" value="RESET"></td>
</form>
我在on_load
期间通过在表单标记上调用onsubmit
来尝试以下代码,但它没有显示消息
<head>
<script type="text/javascript">
function on_load(){
var y = document.getElementById("txtHiddenUname");
y.type= "text";
}
</script>
</head>
<body>
<input type="hidden" id="txtHiddenUname" value="invalid input" />
</body>
答案 0 :(得分:2)
因为return语句将退出函数调用,并且在它运行之后什么也没有。您需要在返回之前添加它。
onsubmit="on_load(); return validate();"
或者你可以做
onsubmit="return validate() && on_load();"
但你的on_load函数需要返回true。
function on_load(){ return true; }
另外,为什么使用输入来显示消息?好像你应该使用带有display none / block的段落。 javascript:在事件处理程序中不需要,on_load似乎应该在窗口加载时调用,而不是表单提交。
答案 1 :(得分:0)
还添加以下行:
y.style.display = "block";