Имя: Пароль:
IT
Веб-мастеринг
Обработка checkbox
0 Rok
 
29.06.09
16:22
Необходимо сделать чтоб при щелчке на checkbox(ставим галку) поле (type="text")можно было редактировать, галку убираем - редактировать нельзя


$id = mysql_result($result,$i,"id");
$name = mysql_result($result,$i,"name");
$fio = mysql_result($result,$i,"fio");
PRINT
'<table>
<tr>
   <td><input type="checkbox" name="edit"></td>
   <td><input type="text" name="ID" value='.$id.' size="30" maxlength="50" readonly></td>

</tr>
</table>';
1 AquaKosh
 
29.06.09
16:33
(0) Есть как минимум 2 варианта. Перезагрузка страницы будет или нет при этом?
2 Rok
 
29.06.09
16:33
перезагрузки не будет
3 Fragster
 
гуру
29.06.09
16:35
ну и что, onClick прописаываешь:
chkInput = document.getElementById('<ид чекбокса>');
txtInput = document.getElementById('<ид текстового поля>');
txtInput.readonly = chkInput.checked;
4 AquaKosh
 
29.06.09
16:35
(2) Ну тогда привяжи к чекбоксу OnClick/OnChange/etc и меняй в ней через, к примеру, innerHTML и т.п. доступность.
5 Ангел- Хоронитель
 
29.06.09
16:37
+(3)либо txtInput.disabled
6 Rok
 
29.06.09
16:38
Спасибо )
7 Fragster
 
гуру
29.06.09
16:38
(5) я на вскидку не помню, как эти свойства называются, но в 95% также, как в html пишутся
8 Ангел- Хоронитель
 
29.06.09
16:44
(7)в твоем случае он просто редактировать не даст, в моем еще и тусклым станет, неактивным...
9 Rok
 
30.06.09
10:17
Тут что-то у меня не получается
"checkbox" - остается активным!!!

<script language="JavaScript">
<!-- hide

function editText() {
if (document.myForm.FlagEdit.checked)
{    
chkInput = document.getElementById('<FlagEdit>');
txtInput = document.getElementById('<IDD>');
txtInput.disabled = chkInput.checked;
}    
}
// -->
</script>


PRINT'
<form name="myForm">
<table>
<tr>
   <td><input type="checkbox" name="FlagEdit" onClick="editText()"></td>
   <td><input type="text" name="IDD" value='.$id.' size="30" maxlength="50"></td>
</tr>
</table>
</form>';
10 Rok
 
30.06.09
12:24
1
11 Fragster
 
гуру
30.06.09
12:51
на, на!

       <script language="JavaScript">
       <!-- hide

       function editText() {
           myForm = document.forms.myForm;
           chkInput = myForm.FlagEdit;
           chkText = myForm.IDD;
           chkText.disabled = !chkInput.checked;
       }
       // -->
       </script>


       <form name="myForm">
       <table>
       <tr>
           <td><input type="checkbox" name="FlagEdit" onClick="editText()"></td>
           <td><input type="text" name="IDD" value='.$id.' size="30" maxlength="50" disabled></td>
       </tr>
       </table>
       </form>

с тя пиво!
12 Ангел- Хоронитель
 
30.06.09
12:55
(11)рановато пиво просить... у него там все неправильно.

(9)
<script language="JavaScript">
<!--

function editText() {
 
       var chkInput = document.getElementById('FlagEdit');
       var txtInput = document.getElementById('IDD');
       txtInput.disabled = 1 - chkInput.checked;

}
// -->
</script>


PRINT'
<form name="myForm">
<table>
<tr>
  <td><input type="checkbox" id="FlagEdit" onClick="editText()"></td>
  <td><input type="text" id="IDD" value='.$id.' size="30" maxlength="50" disabled></td>
</tr>
</table>
</form>';
13 Rok
 
30.06.09
13:06
C disabled работает все отлично, а с readonly ничего не получается! (((
14 Ангел- Хоронитель
 
30.06.09
13:11
(13)ты определись, чего тебе надо.
15 Fragster
 
гуру
30.06.09
13:13
(12) таки name надо оставлять - ибо параметры передаваемые по нему идут. можно его параллельно с ID прописывать, но я в (11) решил, что нафиг нада.
16 Ангел- Хоронитель
 
30.06.09
13:15
(15)куда данные идут? у него же не action, не method, не submit не прописан...
17 smaharbA
 
30.06.09
13:21
ид это не наме
18 Fragster
 
гуру
30.06.09
13:48
(13) потому что readOnly:

       function editText() {
           myForm = document.forms.myForm;
           chkInput = myForm.FlagEdit;
           chkText = myForm.IDD;
           chkText.readOnly = !chkInput.checked;
       }
       // -->
       </script>


       <form name="myForm">
       <table>
       <tr>
           <td><input type="checkbox" name="FlagEdit" onClick="editText()"></td>
           <td><input type="text" name="IDD" value='.$id.' size="30" maxlength="50" readonly></td>
       </tr>
       </table>
       </form>
19 Rok
 
30.06.09
14:49
Спасибо вам большое за помощь, буду использовать 2 варианта ))))
20 Fragster
 
гуру
30.06.09
17:37
а пиво где?