2012-07-04 4 views
0

jQuery를 사용하여 단어 수에 문제가 있습니다. 이 방법은 내가 멈출 공간을 클릭하자 마자 작동합니다.보내기 jQuery와 공백 받기

HTML :

<textarea id="essay_content_area" name="essay_content" onkeydown="words();"></textarea> 
<td>Number of words: <div id="othman"></div></td> 

jQuery를 :

function words(content) 
{ 
    var f = $("#essay_content_area").val() 
    $('#othman').load('wordcount.php?content='+f); 
} 

PHP 파일 : 나는 공간을 클릭 할 때까지

if(isset($_GET['content'])) 
{ 
     echo $_GET['content']; // if it works I will send this variable to a function to calculate the words 
} 

스크립트가 내용을 보여줍니다. 어떤 제안?

답변

4

값을 GET 매개 변수의 값으로 PHP 스크립트로 보내기 전에 URL 인코딩해야합니다. 이것을 고려하십시오 :

당신은 당신이 그것을 보내기 전에 변수를 인코딩 URL을 필요
function words(content) 
{ 
    // Get number of words. 
    var words = content.split(" ").length; 
} 
+1

get string에 길이 제한이있는 경우가 많으므로 서버 설정을 확인하거나 게시물로 보내면 좋습니다. 게시물의 제한은 보통 더 높습니다. –

+0

@ NiclasLarsson 좋은 지적. 사실, 적어도'multipart' 인코딩이 아닌 POST에 길이 제한이 있다고 생각합니다. –

+0

@ NiclasLarsson 고맙습니다. 나는 그것이 단지 5000자를 필요로한다는 것을 알았습니다. 'post' 메소드로 변경하는 접근법을 알고 있습니까? – Othman

1

당신은 JS, 같은 것을 사용할 수있는 단어를 계산 PHP가 필요하지 않습니다 올바른 URL 문자가 아님) :

+0

감사합니다.하지만 MS 단어와 같은 단어를 계산하는 함수가 있습니다. 이 함수는 내가 프로그래밍 한 MS 단어 기능과는 다른 카운트를 제공합니다. – Othman

0

(공간은 다음과 같습니다

function words(content) 
{ 
    var f = $("#essay_content_area").val() 
    $('#othman').load('wordcount.php?content=' + encodeURIComponent(f)); 
} 
+0

폭행 - Aleks 용 upvote – Chris