почему это не работает в IE - форма отправки проблемы - PullRequest
0 голосов
/ 11 октября 2009

У меня это работает во всех браузерах, кроме IE. Почему не работает?

Вот сайт

Код формы здесь:

<FORM name ="frontpagequestion">
<input class="" type="text" name="questiontitle" value="ask your question and press enter" onfocus="if(this.value == 'ask your question and press enter') {this.value = '';}" onblur="if (this.value == '') {this.value = 'ask your question and press enter';}" size = "100">
<input type="submit" style="position: absolute; left: -9999px" onClick="process();return false">
</FORM>

Код Javascript находится здесь:

function process(){
    var title = document.frontpagequestion.questiontitle.value;
    title = escape(title); 

    $.cookie("INPUTBOX",title);

    window.location = "/questions/ask";
}

В IE - он просто возвращается в основную форму и не передает значение в поле ввода.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 11 октября 2009

Правильный вызов для изменения URL-адреса: window.location.href = "[url]", AFAIK.

1 голос
/ 11 октября 2009

Просто потому, что IE не выполняет событие onClick для кнопки отправки.Если вы перейдете к нему из окна вопроса, оно будет работать, как и ожидалось.

Вы должны попробовать событие onSubmit для тега .Это должно работать во всех браузерах.

0 голосов
/ 11 октября 2009

Я заметил пару вещей.

а) Событие щелчка на кнопке отправки возвращает ложь. Возврат false отменяет действие по умолчанию для события, поэтому в этом случае возврат false будет означать не отправлять форму.

b) Ваш скрипт устанавливает window.location, что немедленно заставит браузер загрузить новую страницу и вообще не отправлять форму.

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