Oracle Apex : PL/SQL Block의 자바스크립트 코드
PL/SQL 블록에서 자바스크립트 코드를 가질 수 있습니까?제출 시 자바스크립트 코드가 포함된 pl/sql 블록을 오라클 Apex 페이지 프로세스에서 실행하고 싶습니다.
DECLARE
v_count NUMBER;
BEGIN
select count(*) into v_count
from summary
where prd_items = 'Total';
HTP.p ('<script type="text/javascript">');
HTP.p ( 'alert(''The value of Total for BU is ' ||v_count|| '.\n'
|| 'You have to enter correct values to proceed further \n'');');
HTP.p ('</script>');
END;
있습니다Submit
내 페이지 영역의 버튼과 이 pl/sql 블록은 페이지 처리 항목이며 페이지 제출 시 실행됩니다(Conditional:Submit
).
그런데 알림창이 뜨지 않습니다.조언 좀 해주세요.
감사해요.
PL/SQL 블록에서 자바스크립트 코드를 가질 수 있습니까?
- 네.
하지만 당신이 하려는 일은 제출 후 자바스크립트 기능을 통과하는 것으로 작동하지 않습니다.실행 시점을 AFTER HEADER로 변경할 경우에만 작동합니다.
또는 입력한 값만 유효성 검사하고 APEX 유효성 검사를 사용하지 않으려면 APEX_ERROR 패키지를 사용할 수 있습니다.이거 먹어봐요.
DECLARE
v_count NUMBER;
BEGIN
select prd_items into v_count
from summary
where prd_items = 'Total';
-- I dont really know what you want to
--accomplish with this query but Im pretty sure
--It will not return a number
-- if you want to count the number of prd_items it should be like this
--select COUNT(*)
--into v_count
--from summary
--where prd_items = 'Total';
APEX_ERROR.ADD_ERROR(
p_message => 'The value of Total for BU is '||v_count||'.<br>'||
'You have to enter correct values to proceed further',
p_display_location => apex_error.c_inline_in_notification
);
END;
편집: 카운트가 100과 같지 않으면 오류를 표시하려면 다음과 같이 수행합니다.
DECLARE
v_count NUMBER;
BEGIN
Select COUNT(*)
into v_count
from summary
where prd_items = 'Total';
IF v_count != 100 THEN
APEX_ERROR.ADD_ERROR(
p_message => 'The value of Total for BU is '||v_count||'.<br>'||
'You have to enter correct values to proceed further',
p_display_location => apex_error.c_inline_in_notification
);
END IF;
END;
pl/sql 프로시저에서 javascript 코드를 삽입하려면 "Before Header" 지점에 프로시저를 배치해야 합니다.하지만 저는 이것이 여러분이 이루고자 하는 것에 대한 최선의 해결책이라고 생각하지 않습니다.
당신이 하려는 것은 유효성 검사를 추가하는 것입니다.그렇다면 꼭짓점 유효성 검사를 사용하지 않는 이유는 무엇입니까?다음과 같은 옵션을 사용하여 유효성 검사를 만듭니다.
- 검증 수준을 식별합니다.페이지 항목
- 검증할 페이지 항목을 식별합니다.원하는 항목을 선택합니다.
- 유효성 검사 유형(PL/SQL)을 선택합니다.
- 만들 유효성 검사 유형을 선택합니다.함수 반환 오류 텍스트
- 유효성 검사 코드:
DECLARE v_count NUMBER; V_validation_msg VARCHAR2(500); BEGIN SELECT prd_items INTO v_count FROM summary WHERE prd_items = 'Total'; V_validation_msg:='The value of Total for BU is ' ||v_count|| '.\n' || 'You have to enter correct values to proceed further'; IF 1= 1 THEN --add some condition here if you want RETURN V_validation_msg; ELSE RETURN NULL; END IF; END;
- 버튼을 눌렀을 때:Submit(제출) 버튼.
언급URL : https://stackoverflow.com/questions/34263401/oracle-apex-javascript-code-in-pl-sql-block
'programing' 카테고리의 다른 글
wordpress wp_signon 함수가 작동하지 않습니다. (0) | 2023.10.02 |
---|---|
해시 및 범위 기본 키란 무엇입니까? (0) | 2023.10.02 |
Wordpress - 현재 범주 부모 가져오기 (0) | 2023.10.02 |
iOS 런칭 설정 -> 제한 URL 스킴 (0) | 2023.10.02 |
jQuery를 사용하여 텍스트 상자에 입력한 텍스트의 길이를 얻으려면 어떻게 해야 합니까? (0) | 2023.10.02 |