동적 동작에서 버튼 클릭시 Oracle APEX에서 자바 스크립트 함수를 호출하는 방법은 무엇입니까?

캄란이자 즈

오라클 에이펙스 버튼으로 중지하고 싶은 스톱워치 자바 스크립트가 있습니다. 버튼을 생성하고 Execute 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" > "Function and Global Variable Declaration"오른쪽으로 이동하면 함수를 선언해야합니다.

이제 헤더에 만든 버튼이 startStop()함수를 사용할 수 있고 코드를 실행할 수 있습니다.

나는 당신의 코드를 확인하지 않았기 때문에 그것이 의도 한대로 작동할지 모르겠지만, 이런 식으로 적어도 실행할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관