Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> random вывод нескольких таблиц в форме 
:(
    Опции темы
alino4ka
Дата 28.5.2008, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.5.2008

Репутация: нет
Всего: нет



Имеем 

КОД 1
Код

<table><tr><td><label for="text">1. Введите телефон</label></td></tr>
<tr><td><input  type="text" id="text" name="telefon"></td></tr>
</table>

<table><tr><td><label for="text">1. Введите свой блог</label></td></tr>
<tr><td><input  type="text" id="text" name="www"></td></tr>
</table>

<table><tr><td><label for="text">1. Введите ....</label></td></tr>
<tr><td><input  type="text" id="text" name="..."></td></tr>
</table>


КОД 2
Код

<table><tr><td><label for="text">2. Введите телефон</label></td></tr>
<tr><td><input  type="text" id="text" name="telefon"></td></tr>
</table>

<table><tr><td><label for="text">2. Введите свой блог</label></td></tr>
<tr><td><input  type="text" id="text" name="www"></td></tr>
</table>

<table><tr><td><label for="text">2. Введите ....</label></td></tr>
<tr><td><input  type="text" id="text" name="..."></td></tr>
</table>


КОД 3
Код

<table><tr><td><label for="text">3. Введите телефон</label></td></tr>
<tr><td><input  type="text" id="text" name="telefon"></td></tr>
</table>

<table><tr><td><label for="text">3. Введите свой блог</label></td></tr>
<tr><td><input  type="text" id="text" name="www"></td></tr>
</table>

<table><tr><td><label for="text">3. Введите ....</label></td></tr>
<tr><td><input  type="text" id="text" name="..."></td></tr>
</table>



На форме это выглядит как:

Цитата

КОД 1 (одна таблица из трех)              
КОД 2 (одна таблица из трех)
КОД 3 (одна таблица из трех)


хочу сделать так чтобы из каждого кода выводилась случайная таблица и несовпадала с другими,
несовпадение можно контралировать через name, я так думаю.


Воспользовалась кодом от bars80080 - замечательного помошника  smile ,
но там выводится чуть чуть по другому, а переделать неполучается, помогите пожалуйсто  smile 

Код bars80080
Код

<style>
#upl table { display: none; }
</style>
<script>
function show_rnd() {
    var a = document.getElementById('upl').getElementsByTagName('table');
    b = Math.floor((Math.random() * a.length));
    a[b].style.display = 'block';
    
}
</script>
<div id="upl">
<table> ... всё что нужно в 1-ой таблице ...  </table>
<table> ... всё что нужно в 2-ой таблице ...  </table>

<table> ... всё что нужно в n-ой таблице ...  </table>
</div>
<script>
show_rnd();
</script>


Это сообщение отредактировал(а) alino4ka - 28.5.2008, 23:15
PM MAIL   Вверх
bars80080
Дата 29.5.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



оно-то помочь можно, вот только задача не понятна

что конкретно нужно получить? вообще какая идея? (потому как странно видеть нужду в случайной выборке среди одинаковых элементов)



кстати, одинаковый id поставит крест на работоспособности любого кода
PM MAIL WWW   Вверх
Ghirik
Дата 29.5.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 919
Регистрация: 26.3.2007

Репутация: 5
Всего: 20



Наверное, нужно несколько иначе к этому вопросу подойти.
Зачем создавать три скрытых дубликата таблиц? Можно иметь один, и из него выводить в нужное место. Таким вот образом:

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Title block</title>
<script type="text/javascript">
<!--

function on() {
    var tabs = document.getElementById('div2').getElementsByTagName('table');
    var i = 0;
    while (i < 3) {
        var num = Math.floor((Math.random() * tabs.length));
        if (!tabs[num].thisAlreadyWas) {
            document.getElementById('div1').innerHTML += tabs[num].parentNode.innerHTML;
            tabs[num].thisAlreadyWas = 1;
            i++;
        }
    }
}

window.onload = on;

//-->
</script>
</head>
<body>

<div id="div1">
</div>

<div id="div2" style="display: none">
    <div>
    <table>
        <tr>
            <td>
            <label for="text">1. Введите телефон</label>
            </td>
        </tr>
        <tr>
            <td>
            <input  type="text" id="text" name="telefon">
            </td>
        </tr>
    </table>
    </div>
    <div>
    <table>
        <tr>
            <td>
            <label for="text">1. Введите свой блог</label>
            </td>
        </tr>
        <tr>
            <td>
            <input  type="text" id="text" name="www">
            </td>
        </tr>
    </table>
    </div>
    <div>
    <table>
        <tr>
            <td>
            <label for="text">1. Введите ....</label>
            </td>
        </tr>
        <tr>
            <td>
            <input  type="text" id="text" name="..."></td>
        </tr>
    </table>
    </div>
</div>

</body>
</html>



Есть только один важный момент, не следует ставить в условии цикла while число большее, чем количество имеющихся таблиц. А то, цикл не закончится.  smile

Добавлено через 5 минут и 58 секунд
Да, такой способ получения случайного элемента лучше не использовать с числом элементов(таблиц) большим, чем, скажем пять-шесть.


--------------------
Отдадим всё клиенту, пускай его машина мучается...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.