Самая странная проблема с IE6, не отправляющим форму - PullRequest
0 голосов
/ 23 августа 2010

Мне нужен совет специалиста здесь ...

Я столкнулся с самой странной проблемой в моей карьере ...

У меня есть форма с множеством тегов "SELECT". Каждый тег содержит большое количество тегов «OPTION».

Форма не будет отправлена ​​вообще, но когда я удаляю части содержимого формы (например, некоторые теги SELECT), форма будет отправлена ​​правильно.

Однако нет никакой последовательности, я имею в виду, что удаление тегов может быть случайным. Я пытался выяснить, какая именно часть «удаленной» формы может привести к тому, что форма не будет отправлена, но не могу понять.

Это легче объяснить, показав вам пример ... Я пропущу тег формы и функции js, потому что я уверен, что они не проблема сейчас после часов головной боли ...

Вот один тег SELECT:

<div class="nav_sub_juveler" id="nav_sub_juveler">

  <select name="smycken_type" id="smycken_type" style="width: 130px; margin-bottom: 5px;">
                 <option value="Alla Typer" class="nav_option_main" selected>-- Alla Typer --</option>
                 <option value="Klockor & Ur" title="Klockor, Ur">Klockor & Ur</option>
                 <option value="Juveler" title="Smycken, Pärlor, Guld, Silver, Diamanter mm">Juveler</option>
                 <option value="Övrigt" title="Övrigt">Övrigt</option>
  </select>

<br />

      <input type="radio" name="smycken_action" id="smycken_säljes" value="Säljes" checked onClick="disable_actions('nav_sub_juveler', false);">
      <font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Säljes</font>
      <input type="radio" name="smycken_action" id="smycken_köpes" value="Köpes" onClick="disable_actions('nav_sub_juveler', true);">
      <font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Köpes</font>

</div>

Теперь, в этой части формы, у меня есть контейнер деления, который содержит некоторые опции (как и остальные формы). Если я решил удалить переключатели здесь, форма отправит. Так что сразу же вы думаете: «Хорошо, в переключателях должно быть что-то, заставляющее форму не отправлять!». Но нет! Если я вместо этого удалю «Опции» в теге выбора (или теге выбора вообще), но оставлю радио, форма будет отправлена ​​снова. Но если оставить оба, форма не будет отправлена.

И странно, что остальная часть формы сделана точно так же, как эта, и она будет отправлена ​​с обоими радио и выбирает ...

Я не могу понять ...

Есть ли здесь что-нибудь, что может вызвать проблему?

PS: у css тоже нет проблем, проблема в другом месте ... PS2: я пытался переписать и изменить текст, но не повезло

1 Ответ

1 голос
/ 23 августа 2010

Если <form> использует GET, попробуйте изменить его на POST и посмотрите, имеет ли это значение.

Как говорил @spbfox, существует ограничение на длину URL-адреса.

Редактировать

Это не просто IE6, URL-адреса длиннее ~ 2k вызывают все виды поломок.

У меня было старое приложение, которое использовало GET на огромной странице (более 100 полей), и оно работало годами хорошо ... потом прошлой зимой пользователь установил общую панель инструментов (Google, Yahoo или Bing, не помню который), и он будет молча обрезать данные. Изменение страницы на POST исправило это.

Конечно, если ваша страница действий использует Request.QueryString (), вам придется изменить их на Request.Form ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...