성가신 뇌 마비 문제. 두 번 내 PHP가 확인 여기내 jQuery와 PHP는 같은 결과에 대해 다른 결과를 제공합니까?
$('textarea#itemdescription').keyup(function() {
var charLength = $(this).val().length;
// Displays count
$('span#charCount').css({'color':'#666'});
$('span#charCount').html(255 - charLength);
if($(this).val().length >= 240){
$('span#charCount').css({'color':'#FF0000'});
}
// Alerts when 250 characters is reached
if($(this).val().length >= 255){
$('span#charCount').css({'color':'#FF0000'});
$('span#charCount').html('<strong>0</strong>');
var text = $('textarea#itemdescription').val().substring(0,255)
$('textarea#itemdescription').val(text);
}
});
그리고있다 :
나는 문자열 (주로는 JS 일뿐만 아니라 자릅니다) 자바 스크립트를 heres 하나의 길이를 확인하는 두 가지 기능을 가지고
if(strlen($_POST["description"])>255){
echo "Description must be less than ".strlen($_POST["description"])." characters";
exit();
}
jQuery Ajax를 사용하여 텍스트 영역의 값을 게시하고 있습니다. 그러나 내 PHP 유효성 검사 strlen() 내 js 본질적으로 말하는 것보다 더 오래 말합니다. 예를 들어 솔리드 문자열을 입력하면 0 또는 3 문자가 255까지 남았습니다. 그런 다음 저장을 클릭하면 PHP는 길이가 261이됩니다.
아이디어가 있습니까?
js가 다르게 읽거나 누락되는 특수 문자, 비트 크기와 관련이 있습니까? 아니면 다른 것과 관련이 있습니까? ! 아마 그 병이 오늘 ... : P
업데이트 : 내가 통과 된 것을 볼 수 var_dump($_POST['description'])
을 추가하고 탈출 예를 들어, 슬래시 복귀했다 무슨 일이야? 나는 stripslashes()를 추가하려고 시도했다. 아무 소용이 없다 ... 그들은 어디에서 오는가?
업데이트 2 - 문제가 해결 :
는 기본적으로 난 그냥 내 서버를 실현 생각 마법 따옴표를 지금 처리하기 전에 GRR ...에 그래서 제거 한 슬래시되어 있습니다. 짜증나는 작은 조각 그러나 그것은해야 할 것이다!!도움 주셔서 감사합니다.
감사합니다, 스테판
당신이 실제 POST를하고 특히 당신이 당신의 프런트 엔드 코드의 더 게시 된 경우 도움이 될
.val() 대신 .html()을 사용하면 어떻게됩니까? – Gelatin
불행히도 작동하지 않습니다! –