2015-04-12 3 views
-1

Я использую форму с двумя кнопками отправки и JS с двумя функциями для использования одного из них.javascript не работает в IE (getElementById)

<form action="" name="submit" id="step_1_form" method="post" accept-charset="UTF-8"> 
... 
<input type="submit" value="Speichern & zurück" class="backbutton" form="absenden" name="saveandback" onClick="saveandback()" /> 

<input type="submit" value="Speichern & Step 2" class="send" form="absenden" name="saveandfurther" onClick="step2()" /> 
</form> 

JS

var form=document.getElementById("step_1_form"); 
function step2() { 
    form.action="step2.php"; 
    form.submit(); 
} 
function saveandback() { 
    form.action="scripts/saveandback.php"; 
    form.submit(); 
} 

Он работает в Safari, Chrome и Firefox, но не в IE. Можете ли вы помочь мне выяснить, какой элемент создает проблему и, возможно, как ее решить? Это было бы очень приятно. Спасибо!

+2

вы пропустите знак равенства после Ид и действия в вашем HTML. – jcubic

+0

Спасибо за ваш комментарий, эта ошибка произошла, когда я писал сообщение, в исходном файле есть знак равенства. – Fabrizio

+0

Не могли бы вы скопировать ваш фактический код, как есть? Не вводите его вручную. Невозможно узнать, что у вас есть в реальном коде, и что такое опечатки. Вам также не хватает знака «action». – JJJ

ответ

1

Хорошо, я нашел решение.

Он не работает в IE, когда кнопка отправки имеет то же имя, что и функция. Так что «не делать этого:

<input type="submit" value="Speichern" form="absenden" name="saveandback" onClick="saveandback()" /> 

Лучше сделать что-то вроде этого

<input type="submit" value="Speichern" form="absenden" name="ANOTHERNAME" onClick="saveandback()" /> 
-3

Попробуйте
var form = document.getElementById("step_1_form");
Если вы не объявили form раньше, это, как правило, выдаст ошибку; Safari, Chrome и Firefox позволяют легче просканировать ошибки.

+0

Хорошая точка, но проблема не устранена. Но я все еще держу там вар. Это имеет смысл. – Fabrizio

+1

«это обычно вызывает ошибку» - только в строгом режиме, который должен быть явно вызван автором. Вне строгой моды он неявно создает глобальный. – Quentin

Смежные вопросы