Динамическая смена полей формы

Тема в разделе "Как сделать...", создана пользователем serjinio, 8 янв 2009.

Статус темы:
Закрыта.
  1. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Каким способом реализовать такое ? Допустим три поля 1-логин ,2-пароль ,3-майл.. надо чтобы вывод был в такой последовательности ,а менялся порядок инпутов в коде при каждом обновлении страницы (привязка к сессии)
     
  2. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    PHP:
    $array[0] = "<input ...(1)>";
    $array[1] = "<input ...(2)>";
    $array[3] = "<input ...(1)>";
    shuffle($array);
    $html implode(""$array);
    echo 
    $html;
     
  3. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    этот код меняет поля не только в коде ,а и визуально.. мне надо чтобы визуально осталось такая же последовательность , а менялся порядок вывода полей(последовательность) в POST массиве
     
  4. Lonely Wolf

    Lonely Wolf Прохожие

    Готовый код я тебе писать не буду, а как делать скажу.
    Берёшь пример выше, добавляешь к каждому полю id его нумеруешь в такой последовательности в начале в какой надо выводить.
    А дальше на css по id выводишь поля где какое должно быть, задаёшь им места на страницы, возможно через position:absolute придётся зависит от вёрстки.
    А сами поля можешь выводить в коде где хочешь на странице.
    php:
    PHP:
    $array[0] = "<input ...id='input1'>"
    $array[1] = "<input ...id='input2'"
    $array[3] = "<input ...id='input3'>"
    shuffle($array); 
    $html implode(""$array); 
    echo 
    $html;
    HTML:
    
    #input1 {
      left: 10px;
      top: 30px;
      padding: 5px;
      position: absolute;
    }
    #input2 {
      left: 10px;
      top: 20px;
      padding: 5px;
      position: absolute;
    }
    #input3 {
      left: 10px;
      top: 10px;
      padding: 5px;
      position: absolute;
    }
    
    Примерно так, зависит от вёрстки твоей страницы, идея думаю понятна.

    Второй вариант кстати тупо javascript используй document.getElementById('form').appendChild(document.getElementById('input1'));";
    и будет тебе счастье )
     
Статус темы:
Закрыта.