Доброго времени суток! Столкнулся со следующей проблемой: Имеется форма на html: | Код | <span id="table"> <table id=line[1] nomer="[1]" name="My[1]" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 0" bordercolor="#111111" height="196"> <div id="id_photo[1]"/> <tr > <tr> <td width="16" height="17" style="border-style:none; border-width:medium; " bordercolor="#89B3C9"> <p align="left"> </td> <td width="123" height="17" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium; border-bottom-style:none; border-bottom-width:medium" bordercolor="#89B3C9"> Фото:</td> <td width="9" height="17" style="border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium; border-bottom-style:none; border-bottom-width:medium"> </td> <td width="88" height="10" style="border-style: none; border-width: medium"> Имя:</td> <td width="2" height="10" style="border-style: none; border-width: medium"> </td> <td width="295" height="10" style="border-style: none; border-width: medium" colspan="2"> <input id="name[1]"type="text" name="name[1]" size="46"> <br><font size="3pt"> <a href="#" onclick="return for_all_name('[1]');"> назначить всем </a></font> </td> </TR> <TR> <td width="16" height="51" rowspan="2" style="border-style:none; border-width:medium; " valign="top"> <p align="center"></td> <td width="123" height="140" rowspan="5" style="border-style: none; border-width: medium"> <div id="foto[1]" /></td> <td width="9" height="140" rowspan="5" style="border-style: none; border-width: medium"> </td> <td width="88" height="25" style="border-style: none; border-width: medium"> Альбом: </td> <td width="2" height="25" style="border-style: none; border-width: medium"> </td> <td width="295" height="25" style="border-style: none; border-width: medium" colspan="2"> <div id="album[1]"/></select></td> </TR> <TR> <td width="88" height="24" style="border-style: none; border-width: medium"> Метки: </td> <td width="2" height="24" style="border-style: none; border-width: medium"> </td> <td width="295" height="24" style="border-style: none; border-width: medium" colspan="2"> <input type="text" id="mark[1]" name="mark[1]" size="46"><br><a href="#" onclick="return for_all_mark('[1]');"> назначить всем </a></td> </TR> <tr> <td width="16" height="85" rowspan="3" style="border-style:none; border-width:medium; " bordercolor="#89B3C9"> </td> <td width="88" height="24" style="border-style: none; border-width: medium"> Категория: </td> <td width="2" height="24" style="border-style: none; border-width: medium"> </td> <td width="295" height="24" style="border-style: none; border-width: medium" colspan="2"> <select style="width: 330;" size="1" id="cat[1]" name="cat[1]"> <? select_category_photo(); ?></td> </tr> <tr> <td width="88" height="26" style="border-style: none; border-width: medium"> Описание:</td> <td width="2" height="59" rowspan="2" style="border-style: none; border-width: medium"> </td> <td width="295" height="59" rowspan="2" style="border-style: none; border-width: medium" colspan="2"> <p align="left"><textarea rows="3" id="about[1]" name="about[1]" cols="44"></textarea><br><a href="#" onclick="return for_all_about('[1]');"> назначить всем </a></td> </tr> <tr> <td width="88" height="32" style="border-style: none; border-width: medium"> </td> </tr> <tr> <td width="16" height="17" style="border-style: none; border-width: medium" bordercolor="#89B3C9"> <p align="left"></td> <td width="222" height="17" colspan="4" style="border-style: none; border-width: medium" bordercolor="#89B3C9"> </td> <td width="151" id="messbar[1]"height="17" style="border-style: none; border-width: medium" bordercolor="#89B3C9"> <div id="messbar_text[1]" /> </td> <td width="140" height="17" style="border-style: none; border-width: medium" bordercolor="#89B3C9"> <p align="right"><a href="#" onclick="return del_count(1);"> Отмена </a> <span lang="en-us">| </span><a href="#" onclick="return save_photo_info(1);"> Сохранить </a></td> </tr> <tr> <td width="16" height="6" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium" bordercolor="#89B3C9"> </td> <td width="517" height="6" colspan="6" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium" bordercolor="#89B3C9"> </td> </tr> <tr> <td width="16" height="4" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:none; border-bottom-width:medium" bordercolor="#89B3C9"> </td> <td width="517" height="4" colspan="6" style="border-left-style:none; border-left-width:medium; border-right-style:none; border-right-width:medium; border-top-style:solid; border-top-width:1; border-bottom-style:none; border-bottom-width:medium" bordercolor="#89B3C9"> </td> </tr> </tr> </table> </span> </p> </p> </label> <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> </form> </div> </div>
|
И JS скрипт: | Код | function addline(id_photo_tmp,file_tmp, album_tmp) // если загрузка фотографии прошла успешно //то создаем еще одну линию { c++; // увеличиваем счётчик строк if(c==1){ //если это перваая загрузка то только "открываем" первую линию и меняем все переменные document.getElementById('foto['+c+']').innerHTML='<img src=' + file_tmp + '>'; //пишем ссылку на вновь заргруженную фоторафию document.getElementById('album['+c+']').innerHTML=album_tmp; //пишем название альбома в который загрузили фото document.getElementById('line[1]').style.visibility = 'visible'; // "открываем" линию document.getElementById('id_photo['+c+']').value=id_photo_tmp; //идентификатор фоторафии } else{ // если более второй загрузки то копируем линию s=document.getElementById('table').innerHTML; // получаем HTML-код таблицы s=s.replace(/[\r\n]/g,''); // вырезаем все символы перевода строк re=/(.*)(<table id=.*>)(<\/table>)/gi; // это регулярное выражение позволяет выделить последнюю строку таблицы s1=s.replace(re,'$2'); // получаем HTML-код последней строки таблицы s2=s1.replace(/\[\d+\]/gi,'['+c+']'); // заменяем все цифры к квадратных скобках // на номер новой строки s3=s2.replace(/(del_count\()(\d+\))/gi,'$1'+c+')'); s3=s3.replace(/(save_photo_info\()(\d+\))/gi,'$1'+c+')'); // заменяем аргумент функции rmline на номер новой строки s=s.replace(re,'$1$2'+s3+'$3');
// создаём HTML-код с добавленным кодом новой строки // возвращаем результат на место исходной таблицы document.getElementById('table').innerHTML=s; document.getElementById('about[1]').value=s; document.getElementById('foto['+c+']').innerHTML='<img src=' + file_tmp + '>'; //передаем путь вновь загруженно фотографии document.getElementById('album['+c+']').innerHTML=album_tmp; //пишем имя альбома в который загруженно фото document.getElementById('id_photo['+c+']').value=id_photo_tmp; //присваеваем ID для фото document.getElementById('messbar['+c+']').style.background='#D4E4F2'; //ставим цвет строки сообщения таким же как цвет фона сайта(скрываем) т.к. оно сохроняяется при копировании messbar_text=document.getElementById('messbar_text['+c+']').innerHTML=''; //стираем надписи в строке сообщения } return false; // чтобы не происходил переход по ссылке }
|
Задача скрипта скопировать форму и заменить цифры взятые в квадратные скобки [x], (и записанные в функциях del_count(x); return save_photo_info(x);), на следующие значении. (x+1) В oper’е все работает нормально, но вот в IE8 дублирование строки не происходит. Подскажите плз в чем может быть проблема. Заранее благодарю.
--------------------
Люди не будьте свиньями, Бросайте мусор в урны.
|