【问题标题】:Hidden DOM element containing the message and to make it visible隐藏包含消息的 DOM 元素并使其可见
【发布时间】: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" width="10%"><input type=submit name="siteSearchSubmit" value="SUBMIT" >&nbsp;<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>

【问题讨论】:

    标签: javascript jquery html visibility


    【解决方案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 如果可能请提供任何代码
    • 基本上我需要向用户显示消息“正在处理,请稍候”,所以我认为如果您提供任何其他输入会帮助我,它会更简单。
    • 所以有一个&lt;p id="msg" style="display:none"&gt;FOO&lt;/p&gt;document.getElementById("msg").style.display = "block";
    • 我有点困惑,请告诉我在哪里添加是这样的
    • 是否正确。我需要输入 return true 请纠正我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 2013-07-06
    • 1970-01-01
    • 2017-04-07
    相关资源
    最近更新 更多