Раздражает проблема с онемением мозга.
У меня есть две функции для проверки длины строки (прежде всего, js one также усекается), вот что в Javascript:
$('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);
}
});
А вот мой PHP для двойной проверки:
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'])
чтобы увидеть, что было пройдено, и он возвращал слэши, например в чем дело? Я попытался добавить полоски (); безрезультатно ... откуда они?
ОБНОВЛЕНИЕ 2 - ПРОБЛЕМА РЕШЕНА :
В принципе, я только что понял, что на моем сервере включены магические кавычки ... grr
Итак, я удалил косые черты перед обработкой. Немного раздражает, но это придется делать !!
Спасибо за вашу помощь!
Спасибо,
Стефан