如何使用 AJAX 在我的页面中未显示特定 div 之前隐藏按钮?
How to hide a button until a specific div is not shown in my page using AJAX?
我在 JavaScript 中绝对是新手,在 jQuery 中更是如此,我遇到了以下问题。
在使用 Struts 2 标签库的 JSP 页面中(但我认为这并不重要)我有这样的表格:
<s:form>
<sj:div id="resultEvents" href="%{loadFolderTechId}"
formIds="treeForm"
class="result ui-widget-content ui-corner-all"
loadingText=" "
onBeforeTopics="before"
onCompleteTopics="complete"
deferredLoading="true"
reloadTopics="reloadEvents">
</sj:div>
<s:submit action="projectCreationAction"/>
</s:form>
标签与经典 html 形式相同(它是一个 Struts 2 UI 标签,包裹了经典html表格)。
内部的 标签就像一个 HTML div 有一些 AJAX 行为(它仅在特定事件被触发时显示) 并且它包含表单输入标签。
在特定情况下,页面中有(代码段中未显示)显示树的 JsTree,当用户单击该树的节点时,将显示此表单的内容( 显示)。
好的,在这个下,有显示一个提交表单的按钮。
此时这个按钮一直显示,即使不显示之前的内容。
所以我要做的就是在 的内容没有显示的时候隐藏 按钮。
当显示 时,它会在我的页面中呈现以下 HTML 代码:
<div id="resultEvents" class="class java.util.HashMap">
<div id="">Creazione Progetto</div>
<br>
<table width="100%" border="0">
..............................................
..............................................
..............................................
</table>
</div>
所以我在想也许我使用 JavaScript 或 jQuery 来隐藏我的 直到 div id="resultEvents" 没有呈现在我的页面上。
AJAX 的使用是否正确,或者是否存在更好的解决方案?如果这是一个好的解决方案,我该如何实施?
谢谢
据我了解您的问题,您可以尝试将 <script>
标签放入您的 div 中,ID 为 resultEvents
这将如下所示:
<s:form>
<sj:div id="resultEvents" href="%{loadFolderTechId}"
formIds="treeForm"
class="result ui-widget-content ui-corner-all"
loadingText=" "
onBeforeTopics="before"
onCompleteTopics="complete"
deferredLoading="true"
reloadTopics="reloadEvents">
<script type = 'text/javascript' >$('.yourButtonClassName').show()</script>
</sj:div>
<s:submit style='display:none' class='yourButtonClassName' action="projectCreationAction"/>
你应该给你的按钮一个类名(例如yourButtonClassName
)
并默认隐藏:添加 style='display:none'
如果有帮助请告诉我=)
我在 JavaScript 中绝对是新手,在 jQuery 中更是如此,我遇到了以下问题。
在使用 Struts 2 标签库的 JSP 页面中(但我认为这并不重要)我有这样的表格:
<s:form>
<sj:div id="resultEvents" href="%{loadFolderTechId}"
formIds="treeForm"
class="result ui-widget-content ui-corner-all"
loadingText=" "
onBeforeTopics="before"
onCompleteTopics="complete"
deferredLoading="true"
reloadTopics="reloadEvents">
</sj:div>
<s:submit action="projectCreationAction"/>
</s:form>
标签与经典 html 形式相同(它是一个 Struts 2 UI 标签,包裹了经典html表格)。
内部的 标签就像一个 HTML div 有一些 AJAX 行为(它仅在特定事件被触发时显示) 并且它包含表单输入标签。
在特定情况下,页面中有(代码段中未显示)显示树的 JsTree,当用户单击该树的节点时,将显示此表单的内容( 显示)。
好的,在这个下,有显示一个提交表单的按钮。
此时这个按钮一直显示,即使不显示之前的内容。
所以我要做的就是在 的内容没有显示的时候隐藏 按钮。
当显示 时,它会在我的页面中呈现以下 HTML 代码:
<div id="resultEvents" class="class java.util.HashMap">
<div id="">Creazione Progetto</div>
<br>
<table width="100%" border="0">
..............................................
..............................................
..............................................
</table>
</div>
所以我在想也许我使用 JavaScript 或 jQuery 来隐藏我的 直到 div id="resultEvents" 没有呈现在我的页面上。
AJAX 的使用是否正确,或者是否存在更好的解决方案?如果这是一个好的解决方案,我该如何实施?
谢谢
据我了解您的问题,您可以尝试将 <script>
标签放入您的 div 中,ID 为 resultEvents
这将如下所示:
<s:form>
<sj:div id="resultEvents" href="%{loadFolderTechId}"
formIds="treeForm"
class="result ui-widget-content ui-corner-all"
loadingText=" "
onBeforeTopics="before"
onCompleteTopics="complete"
deferredLoading="true"
reloadTopics="reloadEvents">
<script type = 'text/javascript' >$('.yourButtonClassName').show()</script>
</sj:div>
<s:submit style='display:none' class='yourButtonClassName' action="projectCreationAction"/>
你应该给你的按钮一个类名(例如yourButtonClassName
)
并默认隐藏:添加 style='display:none'
如果有帮助请告诉我=)