функция Javascript пашет в IE в опере не пашет

356ft85

Повешен на обработчик кнопки. Смысл в том что добавляет к кодкументу ещё одну форму в точку NewPlace.
function addFile(btn){
var mBlock = document.getElementById("addfile");
var newPlace = document.getElementById("NewPlace");
var clonedBlock = mBlock.cloneNode(true);
newPlace.appendChild(clonedBlock, newPlace.firstChild);
}
почему то не работает в опере - ничего не меняется при нажати и на кнопку хотя в ие тут же клонируется блок addfile

pitrik2

а в лисе работает?

356ft85

а в лисе работает?
там тоже ни струя - заенто мне по шапке и дали :)

pitrik2

в ие вроде нет различия между name="addfile" и id="addfile"
а в остальных есть
глянь, точно ли у тебя id=".." для всех используемых в getElementById полей задано?

pitrik2

там тоже ни струя
в лисе есть афигеннейшая вещь: Firebug
с дебаггером практически любые траблы с джаваскриптом находятся и исправляются мгновенно

kruzer25

В лисе это есть даже в штатных средствах.

kruzer25

В msdn appendChild принимает только один аргумент - что именно вставлять.
Есть подозрение, что по стандарту - тоже.
Только, видимо, ИЕ просто забивает на лишний аргумент, а фф и опера ругаются.
UPD: Да, по стандарту у appendChild только один аргумент.

pitrik2

UPD: Да, по стандарту у appendChild только один аргумент.
он наверна имел ввиду insertBefore

pitrik2

В лисе это есть даже в штатных средствах.
ну и к чему этот флуд?

kruzer25

Думаешь, он код из первого поста руками писал, или скопипастил из своего нерабочего кода?
Если имел в виду insertBefore - пусть так и напишет в своём коде. Может быть, после этого у него даже всё заработает.

356ft85

Ща прочитаю всё что вы написали. КОд в первом посте с моей страницы, но спидорил я его с одной изстраниц яндеха (тамошний работает в любом броузере). На яндехе был такой код
function addFile(btn){
if(document.getElementById)
{if(document.getElementById('addfile'
{var template=document.getElementById('addfile').firstChild;
var resultNode=template.cloneNode(true);resultNode.className='';
resultNode=template.parentNode.appendChild(resultNode)
addChooseEvt(resultNode.getElementsByTagName('input')[0]);
}
}
}

356ft85

В msdn appendChild принимает только один аргумент - что именно вставлять.
Есть подозрение, что по стандарту - тоже.
Только, видимо, ИЕ просто забивает на лишний аргумент, а фф и опера ругаются.
UPD: Да, по стандарту у appendChild только один аргумент.
сделал такой HTML ник
<html>
<body>
<SCRIPT>
function addFile(btn){
  var mBlock = document.getElementById("addfile");
  var newPlace = document.getElementById("NewPlace");
  var clonedBlock = mBlock.cloneNode(true);
  newPlace.appendChild(clonedBlock);
}
</SCRIPT>
<---------------------------------------------------------------------------------------- ---><---------------------------------------------------------------------------------------- --->
<form method="POST" action="<?=$self;?>">
    <font face="Times New Roman" size="2">Анкета (вопросы ответы)</font>
    <DIV id=addFile>
<textarea rows="5" name=SMcols="42">XXX</textarea></font></span>
     </DIV>
<DIV id=NewPlace><input type=hidden name=kolvo value=>NEW</DIV>
<INPUT onclick=addFile(this); type=button value=" + Еще вопрос">
    <p align="center"><font face="Times New Roman"><hr>
<b>ИНТЕРПРEТАЦИЯ РЕЗУЛЬТОВ </b><br>
    <input type="submit" value="Добавить Анкетирование В Базу" name="B1"></font></p>
    </form>


</body>
</html>
однако хоть тут и один аргумент то всё равно в опере не пашет а ие работает..

356ft85

Ошибка: mBlock has no properties
Источник: ../test.php[/url]
Строка: 7 :confused: :grin:

Andr163


<DIV id=addFile>
getElementById("addfile");

мб из-за регистра? :)

Commandor

"addfile" != "addFile"
зы. ух ты - тег font (давно не видел)

356ft85

ы
Оставить комментарий
Имя или ник:
Комментарий: