Введите ключ не отправлять форму в IE6 - PullRequest
1 голос
/ 23 августа 2010

У меня есть такая форма:

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="reset_and_subm();">

Клавиша ввода не отправит эту форму в IE6, но будет в Chrome, FF, Opera, Safari и IE8 (еще не тестировал IE7). В ФАКТЕ, НЕ ДАЖЕ, НАЖМИТЕ КНОПКУ ОТПРАВИТЬ, ПРЕДОСТАВЛЯЕТ ФОРМУ. Я пытался часами сейчас ... В чем может быть проблема? Я пробовал это:

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="alert('hello');">

И в окне предупреждения появляется сообщение ...

Теперь вот функция "reset_and_subm ();"

function reset_and_subm(){
    document.getElementById("p").value = 1;
    return true;
}

Кто-нибудь знает, что мне здесь делать?

Кстати, я проверил все входные данные в форме, и все, кажется, все в порядке ... Итак, предположим, что нет ничего плохого в содержании формы.

Спасибо

UPDATE:

У меня есть кнопка отправки, да. Весь контент формы можно разместить здесь, но он содержит только одно текстовое поле. Остальное «выбирает» и «скрытые входы». Я нажимаю ввод в единственном текстовом поле, которое есть ... Также я добавил код кнопки отправки:

<input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value="">

<input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;">

UPDATE2:

Просто чтобы указать, я включил файл js, который содержит функцию "reset_and_subm", а также я использую mod_rewrite в .htaccess, чтобы переписать действие формы. Я надеюсь, что ничего из этого не вызывает проблемы.

Update3: Кажется, проблема может быть в теле события OnLoad, где у меня есть функция js, не перечисленная здесь. IE6 не поддерживает OnLoad? Что я должен использовать вместо ...

Вот мой текущий код:

  <body onLoad="subSelection();">

Спасибо

Ответы [ 3 ]

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

Я сделал два изменения в вашем коде.

Поскольку вы вызываете функцию из onsubmit, я включил ключевое слово return в вызов метода.

Только для формыимеет один элемент формы, я добавил скрытый элемент в форму.

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="return reset_and_subm();">
    <div style="display: none;"><input type="text" name="ie6"></div>
    <input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value="">
    <input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;">
</form>

Пожалуйста, кричите, если вы все еще застряли.

1 голос
/ 17 марта 2011

В IE есть ошибка, при которой формы с одним текстовым полем не будут отправляться при нажатии клавиши «ввод / возврат»Решение состоит в том, чтобы добавить второе поле: Simples: D

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

Кажется, я помню, что есть странная ошибка с одним текстовым полем на странице в IE6, с которой нам пришлось много лет назад работать. Попробуйте разместить на странице еще одно пустое текстовое поле с установленным стилем display: none и посмотрите, сработает ли это. Это может звучать сумасшедшим, но это то, что происходит с сумасшедшими ошибками IE ...

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