За последние 24 часа нас посетили 18362 программиста и 1611 роботов. Сейчас ищут 2057 программистов ...

Не работает "динамическая форма" в IE6

Тема в разделе "JavaScript и AJAX", создана пользователем Hight, 27 май 2009.

  1. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Вот это дело:
    HTML:
    1. <?php
    2. header('Content-Type: text/html; charset=utf-8');
    3.  
    4. if(count($_POST) > 0){
    5. echo'<pre>';
    6. print_r($_POST);
    7. echo'</pre>';}
    8.  
    9. ?>
    10.  
    11. <title>Динамическая форма</title>
    12. <script language="javascript" type="text/javascript">
    13.  
    14. child_get = false;
    15. child_form = new Array();
    16. child_count = 1;
    17.  
    18. function addchild()
    19. {
    20.     if(!child_get)
    21.     {
    22.         child_form[0] = document.getElementById('child').innerHTML;
    23.         child_form[child_count] = child_form[0];
    24.         child_get = true;
    25.     }
    26.     else
    27.     {
    28.         child_count++;
    29.         child_form[child_count] = child_form[0];
    30.     }
    31.  
    32.     document.getElementById('child').innerHTML = child_form.join('');
    33. }
    34.  
    35. function deletechild()
    36. {  
    37.     if(child_count != 0)
    38.     {
    39.         child_form.splice(child_count);
    40.         child_count--;
    41.     }
    42.  
    43.     document.getElementById('child').innerHTML = child_form.join('');
    44. }
    45.  
    46.  
    47. </head>
    48.  
    49. <!-- Кнопочки добавления -->
    50. <table border="1"><tr>
    51. <td><input type="button" value="Добавить" onClick="addchild();" /></td>
    52. <td><input type="button" value="Удалить" onClick="deletechild();" /></td>
    53. </tr></table>
    54.  
    55. <br><br>
    56.  
    57. <!-- Форма -->
    58. <form action="" method="post">
    59.  
    60. <!-- Поля формы -->
    61. <table id="child" border="1">
    62. <tr>
    63.     <td>Поле раз</td>
    64.     <td><input type="text" name="child1[]" /></td>
    65. </tr>
    66. <tr>
    67.     <td>Поле два</td>
    68.     <td><input type="text" name="child2[]" /></td>
    69. </tr>
    70.  
    71. <br><br>
    72.  
    73. <!-- Кнопка -->
    74. <table border="1">
    75. <tr>
    76.     <td><input type="submit" value="Поехали" /></td>
    77. </tr>
    78. </form>
    79.  
    80. </body>
    81. </html>
    В IE не фурычит. Почему? Я не спец в яваскрипт и мало когда с ним сталкиваюсь, так что сильно не пинайте, если написал говно подскажите как переделать. :)
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  3. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Kreker
    Таблицу вставляю.
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Объясню: есть таблица с кучей полей, вот эту таблицу и надо размножать...
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    ??
    var new_table = document.getElementById('child').cloneNode(true);
    new_table.id = "child_1";
     
  6. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ну скопируй код, запусти, посмотри что он делает. На самом деле я не хочу ничего переделывать, мне влом, ибо ие6 мастдай и те кто его юзают тоже мастдай.
     
  7. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Hight
    Напиши псевдокодом, чего сделать хочешь. Потому как логика теряется, и дело не в хеннеси ;-)
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    AlexGousev
    Да ладно, зачем. Я тут немного поправил, кое-что добавил и решил, что и так сойдёт. А то, что в ие6 не работает - плевать, его загнивающий труп уже даже не воняет...
    блин, ну чего ты дразнишься а :)
     
  9. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    так не у всех автоапдейт включен. и юзверей ие6 все еще много…

    я не, я чего, я так, мимо проходил…
     
  10. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    А это из интерфейса админки и круг пользователей будет ограничен ;)
     
  11. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Hight
    Ну это другое дело! Тут «requirements» нарисовал и делай что хочешь :)
     
  12. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    мб JQuery
    вобщем то для таких дел и создан
     
  13. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    нафига мне этот монстр =) По нему ещё надо ман вкуривать. Потом, потом...
     
  14. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    [js] $('document').ready(function() {
    table=$("#child");
    table_cache=table.html();
    addchild = function() {
    table.append(table_cache);
    }
    deletechild = function() {
    if(table.children().length>1){
    $(">:last",table).remove();
    }else {
    alert("Неа");
    }
    }
    });[/js]