я получил большую часть этого кода от ответа на This questionJavascript, добавьте поле ввода для формирования. Не работает в IE
<script type="text/JavaScript">
function newInput(NIFormName,NIname,NIvalue,NItype='hidden'){
var theForm = document.forms[NIFormName];
var input = document.createElement('input');
input.type = NItype;
input.name = NIname;
input.value = NIvalue;
theForm.appendChild(input);
return true;
}
</script>
Это, казалось, работать в FF, но не IE 11.
Таким образом, я сделал поиск и это выглядело как я нужен другой метод, и я попробовал:
<script type="text/JavaScript">
function newInput(NIFormName,NIname,NIvalue,NItype='hidden'){
var theForm = document.forms[NIFormName];
var input = document.createElement('input');
input.setAttribute('type', NItype);
input.setAttribute('name', NIname);
input.setAttribute('value', NIvalue);
theForm.appendChild(input);
return true;
}
</script>
Он по-прежнему работает в FF 26 и не работает в IE.
Когда я говорю «это не работает», я имею в виду, что я не вижу ошибок, и поле не добавляется к представленным данным.
Это вершина моей формы:
<form name="writenew" method="get" action="formtest.php" onSubmit="newInput('writenew','first_added_field','Yep! I was added.');">
и это formtest.php
<?php
var_export($_GET);
?>
Когда я представляю его с FF, это входит в дисплей
'first_added_field' => 'Да! Я добавил. ',
Но в IE это не так.
Как это сделать в IE?
Теперь вы, какие ошибки получаете, если вы нажмете F12 в IE, тогда вы получите консоль, и это, надеюсь, даст вам читаемую ошибку. –
похоже, что вы пытаетесь добавить его в submit, но если браузер слишком быстр и т. Д., Возможно, он не добавит его вовремя, чтобы перейти на другую страницу? Почему вы добавляете его в submit. –
'method = get" 'Вам не хватает двойной кавычки. – MattDiamant