Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Изменение ссылки и ID в зависимости от события!
 
 автор: Vados   (26.11.2006 в 23:38)   письмо автору
 
 

Всем привет!
Есть следующая задача:
1) есть скрипт календаря, который при выборе даты заносит дату в поле.
2) есть скрипт, который дубрирует поля при нажатии на + и удаляет соответственно при нажатии на -

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

addCalendar("имя для вызова", "название в title окна", "имя input", "имя формы");

При добавления нового календаря, необходимо установить :

addCalendar("новое имя для вызова", "название в title окна", "новое имя input", "имя формы");

и.т.д.
Как мне это сделать, если я не знаю, сколько у меня будет создано полей, при нажатии на +

Код скрипта, который отрабатывает дублирование и удаление полей:

function dropFile(btn){
    if(document.getElementById) {
        tr = btn;
        while (tr.tagName != 'TR') tr = tr.parentNode;
        tr.parentNode.removeChild(tr);
        checkForLast();
    }
}
function addFile(btn)
{
    if(document.getElementById) {
        tr = btn;
        while (tr.tagName != 'TR') tr = tr.parentNode;
        var idSuffix = Math.round(Math.random()*1000);
        var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
        thisChilds = newTr.getElementsByTagName('td');
        for (var i = 0; i < thisChilds.length; i++){
            }
        checkForLast();
 
    }
}
function checkForLast(){
    btns = document.getElementsByName('drop_u');
    for (i = 0; i < btns.length; i++){
        btns[i].disabled = (btns.length == 1) ? true : false;
    }
}


А вот само поле в форме, которое дублируется:


<input name="HdddateTextBox" type="text" readonly="readonly" id="HdddateTextBox" />
                                    <a href="javascript:showCal('Calendar1')" >&nbsp;выбрать дату</a>
                                <td colspan="1">
                                <input disabled='disabled' type='button' name='drop_u' value=' &#8722; ' onblur='' onclick='dropFile(this);'><input type='button' value=' + ' onclick='addFile(this);'>



Мне необходимо достичь результата, таким образом, чтобы a href="javascript:showCal('Calendar1'), а именно Calendar1 - у меня увеличивался или уменьшался на 1, при нажатии на кнопку плюс и соответственно минус, то же самое необходимо проделать и с id="HdddateTextBox"


Буду благодарен за помощь!

   
 
 автор: ddhvvn   (27.11.2006 в 16:54)   письмо автору
 
   для: Vados   (26.11.2006 в 23:38)
 

>Как мне это сделать, если я не знаю, сколько у меня будет создано полей, при нажатии на + ...

Может можно попробовать посчитать их?

   
 
 автор: coloboc66   (27.11.2006 в 17:28)   письмо автору
 
   для: ddhvvn   (27.11.2006 в 16:54)
 

Массивы и циклы.

   
 
 автор: ddhvvn   (27.11.2006 в 17:36)   письмо автору
 
   для: coloboc66   (27.11.2006 в 17:28)
 

Насчет массивов, coloboc66, я думаю прав.

   
 
 автор: Vados   (30.11.2006 в 14:19)   письмо автору
 
   для: ddhvvn   (27.11.2006 в 17:36)
 

Хорошо, может какие,-то примеры есть?
Можно ди сделать, например таким образом, чтобы можно было просто добавлять к существующему адресу href

<a href="javascript:showCal('Calendar')" onmouseover="this.search='?text'+document.forms[0].elements[0].value" style="color: #7a7a7a;">выбрать дату</a>

То есть, чтобы просто к a href="javascript:showCal('Calendar')добавлялась к примеру 1,2 и.т.д.

В конечном результате должно быть так:
href="javascript:showCal('Calendar1')
href="javascript:showCal('Calendar2')

   
 
 автор: 12345   (30.11.2006 в 15:10)   письмо автору
 
   для: Vados   (30.11.2006 в 14:19)
 


<B>Добавление новых полей ввода в форму.</B><br>
<form name=e1>
<a href=# onclick=creat();return!1>сделать</a><br>
<input type=button name=b1 id=b11 onclick=creat(); value=сделать><br>
<input name=i1 id=i11><br>
<span id=s1></span>
<script>//alert(document.location.pathname);
d=document;ii=0;    
creat=function(){
    (jj=d.createElement('INPUT')).setAttribute("name",'j'+(++ii));    jj.size=4;
    jj.setAttribute("value",jj.name);
    s1.appendChild(jj);
    s1.appendChild(d.createElement('BR'));
}
</script>
Переписываете для ссылок.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования