【问题标题】:refreshing a div on a button click单击按钮刷新 div
【发布时间】:2015-03-08 18:13:18
【问题描述】:

如何刷新 div 标签?我有这个代码:

<div id="xvote-{$link_shakebox_index}" class="votebutton">
                        {if $anonymous_vote eq "false" and $user_logged_in eq ""}
                            <a data-toggle="modal" href="#loginModal" class="btn {if $link_shakebox_currentuser_votes eq 1}btn-success{else}btn-default{/if}"><i class="fa {if $link_shakebox_currentuser_votes eq 1}fa-white {/if}fa-sun-o"></i></a>
                            <a data-toggle="modal" href="#loginModal" class="btn {if $link_shakebox_currentuser_reports eq 1}btn-danger{else}btn-default{/if}"><i class="fa {if $link_shakebox_currentuser_reports eq 1}fa-white {/if}fa-moon-o"></i></a>
                        {/if}
</div>

【问题讨论】:

  • 你想在哪个事件上刷新它?
  • 您显然在这里使用了服务器端语言。哪一个?
  • 刷新客户端中由服务器生成的内容比您想象的要棘手。你使用什么语言?因为这会导致 HTML 解析错误。
  • 我希望当用户点击 btn 时,所有
    标签都重新加载而不重新加载页面。
  • {if $anonymous_vote eq "false" and $user_logged_in eq ""} 这不是 HTML,请告诉我们它是什么代码。因为它不是在客户端修改div标签,而是在服务端修改。

标签: javascript html reload


【解决方案1】:

你放

 {if $anonymous_vote eq "false" and $user_logged_in eq ""}
                            <a data-toggle="modal" href="#loginModal" class="btn {if $link_shakebox_currentuser_votes eq 1}btn-success{else}btn-default{/if}"><i class="fa {if $link_shakebox_currentuser_votes eq 1}fa-white {/if}fa-sun-o"></i></a>
                            <a data-toggle="modal" href="#loginModal" class="btn {if $link_shakebox_currentuser_reports eq 1}btn-danger{else}btn-default{/if}"><i class="fa {if $link_shakebox_currentuser_reports eq 1}fa-white {/if}fa-moon-o"></i></a>
                        {/if}

这根本没有意义,因为:

  1. if 语句不是 html 代码。
  2. 您没有使用服务器端。
  3. 您不能仅使用客户端刷新 div。

为了刷新 div,您应该使用服务器端语言,例如(Java、PHP 等)。

对于 Java 代码,您必须创建 2 个文件:

  1. 将包含您的 HTML 代码的 JSP(Java 服务器页面)。
  2. 将作为服务器端处理的 Java 文件。

-对于 JSP 文件,您需要创建一个链接/按钮供用户单击以刷新某个 div。

-对于 Java 文件,您需要导入一些库,例如:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

然后为示例“刷新”创建类并实现 doGet 方法。最后,您必须将用户重定向到同一页面。

public class Refresh extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)  throws IOException, ServletException {

  HttpSession session = request.getSession(true);
              session.setAttribute("Example", Div.Refresh());
//The Div.Refresh() is another class with method Refresh, so you will have to create what will the refresh do in another Java Filed called"Div."
                response.sendRedirect("THE_SAME_PAGE.jsp");

               }
}  

我希望这会有所帮助。

【讨论】:

  • 非常感谢 Abdelrahman,我阅读了您的回答,我的根目录中有这些文件,但我不知道如何正确使用,但我尝试学习它。再次感谢。
猜你喜欢
相关资源
最近更新 更多
热门标签