如何在动态操作中单击按钮时调用Oracle APEX中的javascript函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在动态操作中单击按钮时调用Oracle APEX中的javascript函数?相关的知识,希望对你有一定的参考价值。

我有秒表的javascript,我想从oracle apex按钮开始停止。我创建按钮并使用“执行Javascript”表达式创建动态动作,并粘贴javasctipt,但它没有运行。

var x;
var startstop = 0;

function startStop()  /* Toggle StartStop */

  startstop = startstop + 1;

  if (startstop === 1) 
    start();
    document.getElementById("start").innerhtml = "Stop";
   else if (startstop === 2) 
    document.getElementById("start").innerHTML = "Start";
    startstop = 0;
    stop();
  




function start() 
  x = setInterval(timer, 10);
 /* Start */

function stop() 
  clearInterval(x);
 /* Stop */

var milisec = 0;
var sec = 0; /* holds incrementing value */
var min = 0;
var hour = 0;

/* Contains and outputs returned value of  function checkTime */

var miliSecOut = 0;
var secOut = 0;
var minOut = 0;
var hourOut = 0;

/* Output variable End */


function timer() 
  /* Main Timer */


  miliSecOut = checkTime(milisec);
  secOut = checkTime(sec);
  minOut = checkTime(min);
  hourOut = checkTime(hour);

  milisec = ++milisec;

  if (milisec === 100) 
    milisec = 0;
    sec = ++sec;
  

  if (sec == 60) 
    min = ++min;
    sec = 0;
  

  if (min == 60) 
    min = 0;
    hour = ++hour;

  


  document.getElementById("milisec").innerHTML = miliSecOut;
  document.getElementById("sec").innerHTML = secOut;
  document.getElementById("min").innerHTML = minOut;
  document.getElementById("hour").innerHTML = hourOut;




/* Adds 0 when value is <10 */


function checkTime(i) 
  if (i < 10) 
    i = "0" + i;
  
  return i;


function reset() 


  /*Reset*/

  milisec = 0;
  sec = 0;
  min = 0
  hour = 0;

  document.getElementById("milisec").innerHTML = "00";
  document.getElementById("sec").innerHTML = "00";
  document.getElementById("min").innerHTML = "00";
  document.getElementById("hour").innerHTML = "00";


这是html代码。我将此标题添加到静态内容中。我认为此功能需要调用oracle apex的按钮onclick =“ startStop()”

<h1>
  <span id="hour">00</span> :
  <span id="min">00</span> :
  <span id="sec">00</span> :
  <span id="milisec">00</span>
</h1>

<button onclick="startStop()" id="start">Start</button>
<button onclick="reset()">Reset</button>
答案

我不确定,因为您的问题描述不是100%清楚,但是动态操作如何与您的按钮关联?

您使用HTML代码创建按钮,但这意味着按钮在运行时之前不存在,并且您无法在页面设计器中为其分配动态操作吗?

何时触发您的JavaScript代码?

如果要生成这样的按钮,则需要初始化整个页面的功能。

在页面设计器中,单击左侧的页面,然后转到右侧的“ JavaScript”-“函数和全局变量声明”,并在其中声明函数。

现在您在标题中创建的按钮可以使用startStop()功能。

以上是关于如何在动态操作中单击按钮时调用Oracle APEX中的javascript函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中单击按钮时调用url

如何使用 java 脚本在 MVC 中单击按钮时调用相同的局部视图

如何在vuejs中的父组件中单击按钮时调用子组件

Python - 如何在单击按钮时调用的函数中使用变量的值

Python Kivy:如何在按钮单击时调用函数?

如何使用Angular 5在单击按钮时调用多个方法?