Странное поведение с PHP / Pear HTML_Quickform и Firefox 3.6 - PullRequest
0 голосов
/ 14 марта 2010

Редактировать: Посмотрите на этот вопрос в 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.

Ответы [ 2 ]

0 голосов
/ 15 марта 2010

Мне не удалось воспроизвести это на другом компьютере с PHP 5.2.5 (вместо 5.3.1) и Firefox 3.6, поэтому я перейду на свою коробку с PHP 5.3.1 до 5.2.5 и посмотрю, что случается.

0 голосов
/ 14 марта 2010

Это не имеет ничего общего с Грушей.Просто попробуйте

<?php echo('04556-8978765'); ?>

и посмотрите на результат с Firefox 3.6 и IE8.Затем попробуйте, например,

<?php echo('4556-8978765'); ?>

...