如何在onclick里执行java代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在onclick里执行java代码相关的知识,希望对你有一定的参考价值。

直接<%%>放进去好像在页面加载的时候就执行了,我需要在onclick触发再执行。怎么做?

参考技术A 你是要执行哪里的java 代码?

是Activex插件?还是 服务器端的 java 代码?
如果是服务器端的发个请求过去就好了,ajax请求或者submit请求都可以。

看你说<%%>,估计不是本地的java代码。

其实你说的事情主要不在于 怎样执行 java代码,主要问题在于你并不知道应该干什么,
开发web要把动作(事件),触发,调用,数据,这几部分分离来看待,
你现在只说明了 动作,也就是说onclick只是一个流程的起始,
然后要说明onclick的触发是什么,也就是它对应的方法,一般的 是一个js 函数。function f()
而这个函数是否要通过后台,要看你是数据在哪里,也就是说在这个部分要清楚是否要调用java,如果确实需要进过后台,那么要选择 使用 ajax (不刷新页面提交),还是submit (刷新页面提交),猜测你应该选择 ajax。然后还要通过这个ajax请求去获得返回值,进一步处理你的结果。本回答被提问者采纳
参考技术B 不知道你的功能是什么,一般用ajax实现追问

我想实现单击发送邮件,但总是自动发送

追答

你的邮件是用outlook发送
还是已经编辑好直接点击就发送

追问

已经编写好了,直接点击就发送

追答

如果不想刷新页面 就用ajax
如果发送有跳转,建议用form表单提交到后台

单击链接时如何使 Onclick 代码不执行

【中文标题】单击链接时如何使 Onclick 代码不执行【英文标题】:How to make Onclick code to not execute when a link is clicked 【发布时间】:2021-09-16 17:15:47 【问题描述】:

如果点击了超链接,不确定如何让此代码不触发

$(document).ready(function () 

  $('.accordion-list > li > .answer').hide();

  $('.accordion-list > li').click(function () 
    if ($(this).hasClass("active")) 
          
      ////if link is clicked then exit this function////
       
      $(this).removeClass("active").find(".answer").slideUp();
      
     else 
        
      $(".accordion-list > li.active .answer").slideUp();
      $(".accordion-list > li.active").removeClass("active");
      $(this).addClass("active").find(".answer").slideDown();
    
    return false;
  );

【问题讨论】:

【参考方案1】:

检查事件目标以获取单击的元素(可能是&lt;li&gt; 的后代)。如果目标具有&lt;a&gt;s 的任何祖先,则停止该函数。

$('.accordion-list > li').click(function (event) 
    if ($(this).hasClass("active")) 
        if (event.target.closest('a')) 
            // an <a> was clicked
            return;
        

【讨论】:

【参考方案2】:

试试这个以防止点击继续执行。

$(document).ready(function () 

  $('.accordion-list > li > .answer').hide();

  // ***** pass event parameter e
  $('.accordion-list > li').click(function (e) 
    if ($(this).hasClass("active")) 
          
      // ***** prevent click to continue execute 
      e.preventDefault();
      
      $(this).removeClass("active").find(".answer").slideUp();
      
     else 
        
      $(".accordion-list > li.active .answer").slideUp();
      $(".accordion-list > li.active").removeClass("active");
      $(this).addClass("active").find(".answer").slideDown();
    
    return false;
  );

【讨论】:

以上是关于如何在onclick里执行java代码的主要内容,如果未能解决你的问题,请参考以下文章

安卓编程 如何在Java代码里设置button的margin(外边距)?

button按钮如何在onclick中调用java后台函数

java wicket链接onclick代码在第二次点击时不执行

如何在一行代码里启动多个线程

在HTML中,如何写js代码(或者别的)以实现flash的点击事件

JAVA怎样终止代码的执行?