Страницы: 1
Здравствуйте, помогите пожалуйста!!
Столкнулся со следующей проблемой, чтобы Вы не думали что я не ознакомился вот с этим:
http://www.mozilla.org/docs/web-developer/
То я ознакомился и в скрипте JavaScript использовал только те функции и свойства CSS , которые поддерживает Firefox.
вот код
<style type=text/css> .fieldHidden {display:none;} .fieldVisible {display:table;} </style> <script language=JavaScript> function dropExperienceNode(btn){ if(document.getElementById) { tr=btn; while(tr.tagName!='tr') { tr=document.getElementById('ExperienceNode').lastChild; tr.parentNode.removeChild(tr); } } } function addExperienceNode(btn){ if(document.getElementById){ if(document.getElementById('ExperienceNode')){ var template=document.getElementById('ExperienceNode').firstChild; var resultNode=template.cloneNode(true); resultNode.className='fieldVisible'; resultNode=template.parentNode.appendChild(resultNode); } } } </script> <table border=0 class=publications> <tbody id=ExperienceNode> <tr class=fieldHidden><td> кусочек который должен будет клонироваться и добавиться в конец вместе с ячейкой TD и TR с присвоенным ему классом fieldHidden. здесь же будет кнопочка добавить и удалить блок. </td> </tr> <TR class=fieldVisible><td> это блок по умолчанию виден и здесь находится кнопочка добавить, при нажатии на которую блок расположенный выше должен добавиться после него. </td> </tr> </tbody> </table>
Вот ссылка где это всё происходит:
http://www.korusconsulting.ru/korus/vacancy/add
Буду признателен если поможете ценным советом или советом где у меня ошибка, думаю который день над этой проблемой...
Заранее спасибо.
PS. вот Internet Explorer и Opera код я уже оптимизировал, остлось только под Firefox
Отсутствует
PPoludnev
код немного кривой, но это не так важно в данной ситуации.
проблема ваша в том, что firstChild не является первым блоком ExperienceNode. соответственно, меняем его на childNodes[1]
Отсутствует
ошибка кралась не в этом
function dropNewNode(btn,ID){ if(document.getElementById) { tr=btn; while(tr.tagName!='TR') { tr=document.getElementById(ID).lastChild; tr.parentNode.removeChild(tr); } } } function addNewNode(btn,ID){ if(document.getElementById){ if(document.getElementById(ID)){ var template=document.getElementById(ID+'Child'); var resultNode=template.cloneNode(true); resultNode.className='fieldVisible'; resultNode=template.parentNode.appendChild(resultNode); } } }
вот код скрипта который теперь работает.
Суть в том, что Firefox в отличие от IE и Opera неправильн использует функцию cloneNode() в Firefox она не может клонировать TR вместе с вложенными TD если использовать и обращаться к TR как к ChildNodes[0] или firstChild
необходимо присвоить тегу TR который собираемся клонировать ID и по нему напрямую вызвать этот объект и клонировать его как представлено выше в скрипте.
Но если
Отсутствует
Страницы: 1