包含消息并使其可见的隐藏DOM元素

时间:2016-11-21 13:36:47

标签: javascript jquery html visibility

我需要在点击提交按钮时显示消息“请等待处理”,使用隐藏的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" >&nbsp;<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>

2 个答案:

答案 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";