2011-11-18 4 views
1

jQuery를 통해 PHP 파일로 양식을 보내려고합니다. 문제는 PHP 코드로 전송해야하는 내용에 BBcode가 있기 때문에 슬래시 (/)가 포함되어 있다는 것입니다. PHP 파일에서콘텐츠를 jquery를 통해 PHP 파일로 보내려면 어떻게 인코딩합니까?

$.ajax( 
    { 
     type: "POST", 
     url: "create.php", 
     data: "content=" + encodeURIComponent(content), 
     cache: false, 
     success: function(message) 
     { 
      $("#somediv").html(message); 
     }    
    }); 

내가 컨텐츠를 디코딩하고 다시 그때 HTML로 변환 할 수있는 내 BBcodes를 얻을 수 rawurldecode()를 사용 그래서 나는 다음 시도했다. 문제는 출력 할 때 encodeURIComponent()을 입력하는 순간입니다. [object HTMLTextAreaElement]

내 실수는 무엇을 의미합니까?

+0

그럼,'[object HTMLTextAreaElement]'는'# somediv'에 포함 된 내용입니까? 그건 나에게 미친 소리로 들리는데, 그게 당신 질문이 의미하는 바입니다. 그래서 나는 물어볼 것이라고 생각했습니다. –

+0

'content' 변수로 표현되는 것을 보여줄 수 있습니까? – vascowhite

+0

콘텐츠 변수는 ID가 "콘텐츠"인 텍스트 필드의 콘텐츠를 포함해야합니다. – phpheini

답변

5

패키지가 대상으로 데이터 문자

+0

물론 다른 사람들이 말했듯이 요소 자체의 post(), not * *를 준비 할 때 해당 요소의 실제 내용. – Christopher

+0

이제는 처음부터 같은. 내 콘텐츠 : [b] 무언가 [b] 괜찮아요.하지만 뭔가 [b] 있다면 아무것도 보여주지 않습니다. 이것은 현재 제 코드입니다. 작동해야합니까? 'var content = $ ("# content") .Val(); $ .post ( \t \t "create_preview.php" { 유형 : "POST", 내용 : 내용 \t \t}, \t \t 기능 (메시지) \t \t {\t \t \t \t $ ("#previewdiv").html (메시지); \t \t \t \t \t \t \t} \t \t)' – phpheini

+0

당신이 당신의 PHP 스크립트의 관련 부분을 게시 할 수 있을까요? – Christopher

0

변수 content의 값은 해당 HTML 요소의 내용과 대조되는 HTML 요소 인 것으로 보입니다.

이 다른 곳 코드에서 당신과 같이 할 수 있습니다 :

var content = $("selector"); 

을 ...하지만 그것이 있어야 : 코드의 나머지 부분을 보지 않고 확실히 말할 수 없다

var content = $("selector").val(); 

, 그러나 그것은 저에게 같이 보이는 무슨이다. (즉, 당신이 찾고있는 거라면 당신은 content가 무엇인지 명시하지 않았기 때문에)

+0

content는 텍스트 필드의 ID입니다. 필자는 var content = $ ("# content")를 넣었습니다. 스크립트에서 이상한 메시지가 더 이상 나타나지 않지만 전혀 출력이 없습니다 – phpheini

+1

$ ("# content"). val()을 대신 사용하십시오. – Christopher

+0

지금은 처음부터 같은. 내 콘텐츠 : [b] 무언가 [b] 괜찮 으면 좋겠지 만 [b] 무언가 [/ b]라면 아무것도 표시하지 마십시오 – phpheini

1

당신의 content 변수는 텍스트 영역 요소가 아닌 텍스트 영역 내의 텍스트입니다 그리고 jquery가 더러운 세부 사항에 대해 걱정하게하십시오 :

// javascript 
$.post(
     "create.php", 
     { 
      content: "here is my content/slashes included." 
     }, 
     function(message) { 
      $("#somediv").html(message); 
     } 
) 


/////////////////////////////////////////////// 

// php 
$formData = $_POST["content"]; 
echo $formData; 
// yields: here is my content/slashes included. 
관련 문제