Странная ошибка ввода Firefox - PullRequest
3 голосов
/ 27 ноября 2008

Я немного ошеломлен этим, поэтому мне интересно, сталкивались ли с этим какие-либо SOers раньше.

У меня есть по существу плоская страница с номером ввода = текст, размеченный в разметке со значениями по умолчанию, скажем, A, B, C, D, E по порядку. Разметка выглядит так в исходном виде:

<td class="action invoice">
  <a href="#foo">Toggle Invoice</a>
  <div class="data">
    <input type="text" class="formatted" value="A" />
    <a href="#" class="notes" title="Add Note">Add Note</a>
  </div>
</td>

повторяется для ряда строк A-> E.

Страница создана приложением ASP.NET 2.0. Версия 1 - это просто «user.aspx? Id = 1». Версия 2 - это путь, отображаемый HTTP-модулем, похожим на REST, из «users / 1» в «user.aspx? Id = 1» внутри.

Версия 1 в порядке. Версия 2 после рендеринга оставляет меня со входами со значениями в порядке E, A, B, D, E, но я не вижу причин для этого порядка, особенно.

Я могу просмотреть источник, и значение = "X" является правильным, и при проверке DOM в firebug defaultValue является правильным, но значение не является.

  • Это не проблема CSS - CSS удален со страницы.
  • Это не проблема JS - JS выключен.
  • Это не проблема HTML - разметка буквально идентична во всех случаях.

Единственная разница в том, как запрашивается разметка. Как будто Firefox каким-то образом запутался в сервере.

Кто-нибудь когда-нибудь слышал о такой вещи? Я ошеломлен.

Редактировать : это тоже проблема FF. IE, Opera и Chrome все в порядке со страницей.

Редактировать 2 : Я буквально имею в виду путь запроса. Одна версия является запросом к http://localhost/user.aspx?id=1,, другая (ошибочная) версия - к http://localhost/users/1, и эта версия сопоставляется HTTPModule с первым путем. name = не поможет, потому что значения по умолчанию не введены человеком, они находятся в источнике как обслуживаемый.

Ответы [ 7 ]

1 голос
/ 09 декабря 2008

Держу пари, что это связано с тем, что сопоставленный URL-адрес не имеет расширения файла, и поэтому тип содержимого неправильно определяется с помощью firefox. Попробуйте явно установить тип содержимого «text / html» в коде ASP и посмотрите, исправляет ли это.

0 голосов
/ 01 марта 2009

Запустите ваш код через HTML Validator , чтобы увидеть, есть ли какие-то недостающие фрагменты синтаксиса, которые делают его странным.

0 голосов
/ 01 марта 2009

Если вы можете создать случай, когда это воссоздается, и отправить его отчет об ошибке команде Firefox, чтобы они могли поработать над его исправлением.

0 голосов
/ 18 декабря 2008

Firefox довольно агрессивен в сохранении данных формы между обновлениями и навигацией назад / вперед.

Думаю, я бы попытался добавить атрибут autocomplete="off" к входам формы и посмотреть, помогло ли это.

Я думаю, что Firefox может сравнить текущий URI со ссылкой URI, чтобы увидеть, как он должен обрабатывать сохраненные данные формы. Во втором примере они не совпадают.

0 голосов
/ 03 декабря 2008

Я точно не нашел решения для этого, и его повторяемость, кажется, обусловлена ​​некоторым фактором, который я не определил, но у меня есть некоторые случайные доказательства того, что это, кажется, комбинация чего-то происходящего в FF (возможно, ответ на содержание в другой вкладке - спекулятивный) и на рассматриваемой странице, не имеющей строгого типа документа .

Я оставлю это открытым, на случай, если кто-нибудь еще столкнется и найдет причину для этого странного маленького гремлина.

0 голосов
/ 28 ноября 2008

Вы говорите: «Единственная разница в том, как запрашивается разметка». Можете ли вы расширить это? Это какая-то доставка DHTML, или как рабочие, так и нерабочие случаи являются полными HTML-страницами?

Помогает ли добавление различных параметров name = ""? Firefox делает в некоторых случаях попытайтесь сохранить ранее введенные значения, когда Вы возвращаетесь на предыдущую страницу, и я видел, как она запуталась до того, когда произошли столкновения имен.

Редактировать: вы говорите, имя не поможет, но вы пробовали?

0 голосов
/ 27 ноября 2008

Вы имели в виду C, A, B, D, E? Я держу пари, что отсутствие в кавычках или несоответствие атрибута приводит к неправильному синтаксическому анализу тега td для C. Если в таблице есть тег, который должным образом не содержится в tr / td / etc, firefox перемещает его на более ранний уровень в стр.

...