채택완료

빨간 딱지 먹었습니다 ㅜㅜ

2024-03-28 (목) 18:56:54 3,276

크롬 개발자에서요ㅡㅋㅋ

아래가 왜 신텍스에러라고 하는걸까요? 

Copy
if('<?php echo $re_ok?>'==1) msg2 = "기존 내용을 갱신합니다\n\n"; else msg2='';
 if(!confirm(msg+' 처리가 확실합니까?\n\n'+msg2+'넘버 : ' +number_format((float)''+re) )) {
     $('#re4').attr('checked', false);  return;
 }
|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

해당 코드에서 신텍스 에러가 발생하는 이유는 PHP와 JavaScript 코드가 혼합되어 사용되고 있기 때문입니다. 이 코드는 PHP로 작성된 것으로 보이지만 JavaScript의 confirm 함수를 사용하고 있습니다.

여기서 문제는 PHP 코드가 먼저 서버 측에서 실행되고, 그 후에 클라이언트로 전송되어 JavaScript 코드가 실행된다는 점입니다. 이 코드는 PHP 변수 $re_ok를 JavaScript 코드 안에서 사용하려고 시도하고 있지만, 이는 불가능합니다.

대신, PHP에서 생성된 변수를 JavaScript로 전달하는 방법이 있습니다. 이를 통해 JavaScript 코드에서 PHP 변수를 사용할 수 있게 됩니다. 예를 들어, PHP 변수 값을 JavaScript 변수에 할당하는 방법이 있습니다.

Copy
var re_ok = <?php echo json_encode($re_ok); ?>; var msg2 = (re_ok == 1) ? "기존 내용을 갱신합니다\n\n" : ''; if (!confirm(msg + ' 처리가 확실합니까?\n\n' + msg2 + '넘버 : ' + number_format(parseFloat(re)))) { $('#re4').attr('checked', false); return; }

이렇게 하면 PHP 변수 $re_ok의 값을 JavaScript 변수 re_ok에 할당하여 JavaScript 코드에서 사용할 수 있게 됩니다.

답변에 대한 댓글 1개

2024-03-28 (목) 22:16:49
실력자님들이 한방에 해결해주시네요, 잘됩니다, 친절한 설명도 감사드립니다,
2024-03-28 (목) 20:21:21
Copy
if ('<?php echo $re_ok?>' == 1) 
  msg2 = "기존 내용을 갱신합니다\n\n"; 
else 
  msg2 ='';

 

if (!confirm(msg + ' 처리가 확실합니까?\n\n' + msg2 + '넘버 : ' + Number(re) )) {
  $('#re4').attr('checked', false); 
   return;
}

답변에 대한 댓글 1개

2024-03-28 (목) 22:17:29
제가 잘못하는건지 왠지 빨간딱지는 마찬가지네요, 그누 최고 실력자님들 늘 감사합니다,

답변을 작성하려면 로그인이 필요합니다.