지저분한 코드의 문제를 제외하고,이 :
<?php $output ?>
은 다음과 같아야합니다
<?php echo $output ?>
또한 자바 스크립트 html()
기능은 HTML 따옴표를 의미하는 문자열을 필요로 않습니다.
$('#Result').html("<?php $output ?>")
하지만 당신의 PHP $output
그것에 따옴표가있는 경우 다음, 그 깰 수있을 :처럼 뭔가. 그렇다면 addslashes()
을 봐야합니다.
이것은 현재 문제를 해결해야하지만 의견 작성자는 코드를 작성하는 데 지독히 지저분하고/못 생기는 방법이라고 생각합니다.이 문제를 상당히 수정해야합니다.
제안이 조금 청소기를 만들기 위해 한 가지 방법은 다음과 같습니다
// At the top of your page
<?php
$output = '';
foreach($votes as $array) {
if($array->color === $colors->color) {
$output .= $array->votes . '<br>';
}
}
?>
// Down in your HTML code somewhere
<div id="output" style="display:none"><?php echo $output ?></div>
// Now for the much simpler javascript
<script>
$('#tes').click(function(){
$("#output").show();
});
</script>
당신은 HTML/JS와 PHP의
최소한의 혼합을 이런 식으로, 당신은 걱정하지 않아도
따옴표를 이스케이프 처리하는 것에 관해서는 PHP $output
가 미리 (숨겨져있는) 페이지에 이미 있습니다. JavaScript는이를 보여 주어야합니다.
일부 JavaScript 내부에서 PHP를 사용하면 ... PHP와 HTML을 혼합하는 것이 가장 중요한 것입니다. – akluth
음 ... 코딩 스타일에 대한 빼기입니다. 당신은 할 수 없습니다. 단지 자바 스크립트와 PHP를 섞어서는 안됩니다. 클린 코드, 느슨한 커플 링 및 클라이언트와 서버 측에서 웹이 작동하는 방법에 대해 읽어보십시오. – deb0rian
PHP는 서버의 Javascript를 클라이언트에서 실행하며, AJAX 호출을 제외하고는 그들이 만날 수 없습니다. –