1

我正在使用 jquery 来做这个例子。我有我的复选框声明

<input type="checkbox" checked="checked" id="checkbox1" />

<script>
  $('#checkbox1').change(function() {
  if (!$(this).is(':checked')) {
         <% call the jave method %>
  }
else
{
  <%call the java method%>
}
</script>

问题在于,当页面加载时,会评估两个动作。我正在考虑使用 ajax,但还没有找到复选框更改事件的示例。

4

2 回答 2

1

嗯...您的代码看起来不错,但是为了避免页面加载时的边框效应,您如何看待使用$('#checkbox1').click()事件而不是更改?页面加载不会触发点击事件,像这样您已经确定该操作来自您的用户。不要忘记检查checked attribute你已经做过的事情,我认为你是对的。

于 2013-04-28T08:41:22.990 回答
0

JavaScript 代码在客户端(Web 浏览器)上运行,而 Java 代码在服务器(servlet)上运行。它们在不同的机器上运行。这就是您的困惑所在:它们不会彼此相邻运行。在这种情况下,您应该使用 java 作为获取 HTTP 请求、在服务器上处理某些内容并发送回 HTTP 响应的一种方式。总而言之,Java 代码将在上面所谓的“服务器端处理”期间执行。

实际上,您要做的是在某个 JS 事件上触发 AJAX 请求,在 servlet 中执行您想要的任何操作,并在回调函数中对返回的数据执行一些操作。

你需要做一些研究来找出如何做到这一点。正如您似乎在使用 jQuery,$.ajax是一个很好的起点。

于 2013-04-28T09:32:34.613 回答