2010-01-20 9 views
0

텍스트 영역 내부에서 사용하는 자바 스크립트 문자 카운터가 있습니다. 그것은 정상적인 html로 잘 작동하지만, PHP 내부의 텍스트 영역 안에 똑같은 코드를 넣었을 때, 아무것도 없습니다. 잘 작동 할 때php에서 javascript 문자 카운터를 어떻게 작동합니까?

는 여기가 HTML에 있습니다 내 PHP는 폼 내부에 구현되어 여기

<div id="counter"> 
    <span id="counter_airway" style="font-size:11px; color:#666666;">140 Character Limit</span> 
</div> 
<div id="grapvine_text"> 
<form name="CommentBox" method="post" action="Profile.php?id=<?php echo $prof->id; ?>"> 
    <textarea name='airway' class='round_10px' onkeyup="limit_length(this,140,'counter_airway');"></textarea> 
</form> 

:

<div id="commentBoxBlog"> 
    <form name="CommentBox" method="post" action="Profile.php?id=<?php echo $prof->id; ?>"> 

     <?php 
     if($auth->id == $prof->id) { 
      echo "<div id='counter'> 
       <span id='counter_airway' style='font-size:11px; color:#666666;'>140 Character Limit</span> 
       </div><textarea name='airway' class='round_10px' onkeyup='limit_length(this,140,'counter_airway');'></textarea> 
       <input type='submit' name='commentProfileSubmit' value='Exhale' class='post'/>"; 
     } 
     elseif(!$auth) { 
      echo "<textarea name='ProfileComment' class='round_10px' disabled>Please sign in to comment...</textarea>"; 
     } 
     elseif($auth->id != $prof->id) { 
      echo "<textarea name='ProfileComment' class='round_10px'></textarea> 
      <input type='submit' name='commentProfileSubmit' value='Exhale' class='post' />"; 
     } 
     ?> 

    </form> 
</div> 

</div> 

답변

2

필요 :

onkeyup='limit_length(this,140,'counter_airway') 

당신이 할 수는 :

onkeyup='limit_length(this,140,\"counter_airway\")' 
1

PHP는 서버 측에서 완전히 작동합니다. 브라우저에는 PHP 추적 코드가 표시되지 않으며 PHP 스크립트에서 생성 된 HTML 코드 만 볼 수 있습니다. Javascript는 클라이언트 측에서 전적으로 작동합니다.

HTML이 손으로 코딩 한 것이 든 HTML 스크립트가 HTML 스크립트이든 관계없이 중요하지 않습니다. 살펴볼 필요가있는 것은 스크립트가 브라우저의 "소스보기"모드에서 생성 한 HTML입니다. 귀하의 질문에 게시하십시오. 대신, 견적을 탈출하는

2

당신은 견적 중첩 문제를 가지고있다. 작은 따옴표로 textareaonkeyup 속성을 감싸고 있지만 자바 스크립트 코드 안에 작은 따옴표를 사용하고 있습니다. PHP 문자열에 큰 따옴표를 사용하고 있기 때문에 이스케이프 된 큰 따옴표 (\")를 자바 스크립트 스 니펫에서 사용하십시오.

물론 자바 스크립트를 외부 파일로 분리하고 keyup 이벤트에 바인딩하는 것이 좋습니다. 당신은 당신의 텍스트 영역에 id를 할당하고, 언젠가 DOM 후 다음 호출하여 쉽게 할 수있는 것은 준비가되어 있습니다 : 당신은 작은 따옴표로 큰 따옴표의 일부를 변경 한

var textarea = document.getElementById('myTextarea'); 
textarea.onkeyup = function() { limit_length(this,140,'counter_airway'); } 
1

. 이 여기에 예를 들어, 오류가 발생합니다

onkeyup='limit_length(this,140,'counter_airway');' 

이 원본과 비교 :

onkeyup="limit_length(this,140,'counter_airway');" 

당신이 그들을 변화보다는 따옴표를 탈출해야합니다

onkeyup=\"limit_length(this,140,'counter_airway');\" 
관련 문제