Редактировать: Посмотрите на этот вопрос в IE8 и сравните его с Firefox 3.6.
Я использую PHP / Pear HTMLQuickForm и HTMLQuickForm_Controller для работы с HTML-формами. Затем я заметил, что некоторые телефонные номера не будут отображаться, даже если данные были загружены правильно.
Я свел его к следующим довольно странным явлениям, которые меня совершенно сбили с толку:
$this->addElement('static', null, 'Telefon:', '04556-8978765');
просто покажет «Телефон:» в Firefox 3.6. В IE8 я вижу "Телефон: 04556-8978765", как и ожидалось.
$this->addElement('static', null, 'Telefon:', '904556-8978765');
отображает только «Телефон: 9» в Firefox 3.6 и правильно «Телефон: 904556-8978765» в IE8.
С другой стороны
$this->addElement('static', null, 'Telefon:', '099828-67776554');
показывает «Телефон: 099828-67776554» в обоих браузерах. Итак, у меня такой вопрос: что такого особенного в строке 04556-8978765, что Firefox 3.6 отказывается отображать ее?
И это становится еще более странным:
Строки 0208-23345 и 02232-12345 имеют ту же проблему, но если я добавлю их к любому другому символу, то в отличие от 04556-8978765 они отображаются нормально.
И это не так, как будто пропущенные строки не отображаются вообще. На странице перезагрузки я вижу их ненадолго, а потом они исчезают навсегда.
Теперь попробуйте угадать результат
$this->addElement('static', null, 'Telefon:', '04556-8978765');
$this->addElement('static', null, 'Telefon:', '04556-8978765');
Правильно, это не
Телефон: 04556-8978765
Телефон: 04556-8978765
как и ожидалось, а скорее
Телефон:
Телефон: 04556-8978765
Кто-нибудь может понять это?
Редактировать: Когда я посмотрел на сообщение после его отправки, я заметил, что строка кода сразу после "... полностью сбит с толку" выглядит как
$this->addElement('static', null, 'Telefon:', '');
а не как
$this->addElement('static', null, 'Telefon:', '04556-8978765');
Кажется, что любое первое вхождение '04556-8978765' не будет отображаться в Firefox 3.6.