За последние 24 часа нас посетили 17565 программистов и 1724 робота. Сейчас ищут 1545 программистов ...

Как заблокировать/разблокировать поля в форме

Тема в разделе "JavaScript и AJAX", создана пользователем Rossignols, 28 сен 2006.

  1. Rossignols

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

    С нами с:
    13 авг 2006
    Сообщения:
    9
    Симпатии:
    0
    Адрес:
    Москва
    Народ, подскажите со скриптом!
    Есть форма, 5 текстовых строк. Нужно сделать так, чтобы пользователь заполнял их не обязательно все, главное чтобы последоватеьно. Т.е. вначале открыто только первое поле, юзер вписывает символы и открывается второе поле, вписывает во второе поле - открывается 3-е... т.д.
     
  2. Mavir

    Mavir Guest

    Если число полей фиксированое, то можно прятать с помощью стилей

    Код (Text):
    1. <div id="d1"><input type="text"></div>
    2. <div id="d2" style="display: none"><input type="text"></div>
    3. <div id="d3" style="display: none"><input type="text"></div>
    4. <div id="d4" style="display: none"><input type="text"></div>
    5. <div id="d5" style="display: none"><input type="text"></div>
    6. <input type="button" value="add" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}">
    7. <script>
    8. i=2;
    9. </script>
     
  3. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    вотъ
    Код (Text):
    1. <html>
    2. <head>
    3. <title>1111</title>
    4. <script language="javascript">
    5. ch=2;
    6. function show(id){
    7.     id=id+1;
    8.     if (id==ch){
    9.         document.getElementById('tr'+ch).className='style1';
    10.         ch++;
    11.     }
    12. }
    13.  
    14. function sf(){
    15.     if (ch<6){
    16.         document.getElementById('t'+ch).focus();
    17.     }
    18. }
    19. </script>
    20. <style>
    21. .style1{
    22.    
    23. }
    24. .style2{
    25.     display:none;
    26. }
    27. </style>
    28. </head>
    29. <body>
    30. <table border="1">
    31. <tr><td><input type="text" name="text1" id="t1" value="" onBlur="show(1)" /></td></tr>
    32. <tr class="style2" id="tr2"><td><input type="text" name="text2" id="t2" value="" onBlur="show(2)" /></td></tr>
    33. <tr class="style2" id="tr3"><td><input type="text" name="text3" id="t3" value="" onBlur="show(3)" /></td></tr>
    34. <tr class="style2" id="tr4"><td><input type="text" name="text4" id="t4" value="" onBlur="show(4)" /></td></tr>
    35. <tr class="style2" id="tr5"><td><input type="text" name="text5" id="t5" value="" /></td></tr>
    36. <tr><td><input type="button" value="пАшел" onFocus="sf();"/></td></tr>
    37. </table>
    38. </body>
    39. </html>
     
  4. Rossignols

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

    С нами с:
    13 авг 2006
    Сообщения:
    9
    Симпатии:
    0
    Адрес:
    Москва
    Спасибо огромное!
    Я немного переделал:
    Код (Text):
    1.  
    2. <div id="d1"><input type="text" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}"></div>
    3. <div id="d2" style="display: none"><input type="text" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}"></div>
    4. <div id="d3" style="display: none"><input type="text" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}"></div>
    5. <div id="d4" style="display: none"><input type="text" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}"></div>
    6. <div id="d5" style="display: none"><input type="text" onclick="if (i<=5){document.getElementById('d'+i).style.display=''; i++;}"></div>
    7. <script>
    8. i=2;
    9. </script>
    А можно сделать как-то чтобы поля ниже не появлялись, а просто появлялась возможность вписывать в следующее поле текст?. (поля сразу все видны)
     
  5. Mavir

    Mavir Guest

    Так?
    Код (Text):
    1. <input type="text" id="t" disabled>
    2. <input type="button" onClick="document.getElementById('t').disabled=false;" value="Enable">
     
  6. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Далай предыдущему полю getElementById('id').style.display='none'
     
  7. Mavir

    Mavir Guest

    Код можно немного упростить
    Код (Text):
    1. <div id="d1"><input type="text" onclick="document.getElementById('d2').style.display='';"></div>
    2. <div id="d2" style="display: none"><input type="text" onclick="document.getElementById('d3').style.display='';"></div>
    3. <div id="d3" style="display: none"><input type="text" onclick="document.getElementById('d4').style.display='';"></div>
    4. <div id="d4" style="display: none"><input type="text" onclick="document.getElementById('d5').style.display='';"></div>
    5. <div id="d5" style="display: none"><input type="text"></div>
     
  8. Rossignols

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

    С нами с:
    13 авг 2006
    Сообщения:
    9
    Симпатии:
    0
    Адрес:
    Москва
    Всем огромное спасибо!
    Сделал, что хотел:
    Код (Text):
    1.  
    2. <input type="text" id="t1" onClick="document.getElementById('t2').disabled=false;">
    3. <br><input type="text" id="t2" disabled  onClick="document.getElementById('t3').disabled=false;">
    4. <br><input type="text" id="t3" disabled onClick="document.getElementById('t4').disabled=false;">
    5. <br><input type="text" id="t4" disabled onClick="document.getElementById('t5').disabled=false;">
    6. <br><input type="text" id="t5" disabled>