隐藏包含消息的 DOM 元素并使其可见
Posted
技术标签:
【中文标题】隐藏包含消息的 DOM 元素并使其可见【英文标题】:Hidden DOM element containing the message and to make it visible 【发布时间】:2017-04-04 22:16:10 【问题描述】:我需要使用隐藏的 DOM 元素在单击提交按钮时显示消息“请等待处理”,该元素包含该消息并使其可见,但该消息未显示。
我的表单的 html 和我的验证功能如下所示。
<form name="siteSearchForm" method=post action="<%=request.getContextPath()%>/servlet/visibilityController" onsubmit="javascript:return validate();on_load()">
<td align="center" ><input type=submit name="siteSearchSubmit" value="SUBMIT" > <input type="RESET" name="clearTN" value="RESET"></td>
</form>
我在onsubmit
期间通过在表单标签上调用on_load
尝试了以下代码,但它没有显示消息
<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>
【问题讨论】:
【参考方案1】:还添加以下行:
y.style.display = "block";
【讨论】:
感谢您的回复,很有用【参考方案2】:因为return语句会退出函数调用,之后什么都不会运行。您需要在退货之前添加它。
onsubmit="on_load(); return validate();"
或者你可以这样做
onsubmit="return validate() && on_load();"
但您的 on_load 函数需要返回 true。
function on_load() return true;
另外,您为什么要使用输入来显示消息?似乎您应该使用带有显示无/块的段落。 javascript: 在事件处理程序中不需要,并且 on_load 似乎应该在窗口加载时调用,而不是表单提交。
【讨论】:
谢谢。是否有任何替代方法抱歉我不擅长 Javascript 如果可能请提供任何代码 基本上我需要向用户显示消息“正在处理,请稍候”,所以我认为如果您提供任何其他输入会帮助我,它会更简单。 所以有一个<p id="msg" style="display:none">FOO</p>
和document.getElementById("msg").style.display = "block";
我有点困惑,请告诉我在哪里添加是这样的
是否正确。我需要输入 return true 请纠正我以上是关于隐藏包含消息的 DOM 元素并使其可见的主要内容,如果未能解决你的问题,请参考以下文章