как сделать флажок для включения и отключения текстового поля в нескольких случаях - PullRequest
0 голосов
/ 10 марта 2011

Я сделал что-то вроде этого.

<html>
<head>
<script type="text/javascript">
<!--
function toggleTB(what){
if(what.checked){document.theForm.theTB.disabled=1}
else{document.theForm.theTB.disabled=0}}
//-->
</script>
</head>
<body>
<form name="theForm">
<input type="checkbox" name="theCB" onClick="toggleTB(this)">Toggle The Text Box<br>
<input type="text" name="theTB" value="asdf">
</form>
</body>
</html>

Но это используется только один раз. Мне нужна эта функция несколько раз в других строках, так как я могу использовать эту функцию несколько раз.

Моя форма выглядит следующим образом:

 <tr>    
 <td style="border-top:none; text-decoration:underline;" >Specific operations/procedures</td>
 <td>
 <input type="checkbox" name="sd3[]" value="mfi_nam9" />Other(please specify):
 <input type="text" name="mfi_nam9" class="text required" id="mfi_name" 
 </td>
 </tr>
 <tr>    
 <td style="border-top:none; text-decoration:underline;" >General principles/strategies</td>
 <td>
 <input type="checkbox" name="sd2[]" value="mfi_nam8" />Other(please specify):
 <input type="text" name="mfi_nam8" class="text required" id="mfi_name" 
 </td>
 </tr>

Я буду ждать вашего ответа, и я очень благодарен вам, ребята, за помощь мне ранее, и надеюсь, что вы поможете мне и в этот раз.

Ответы [ 4 ]

1 голос
/ 10 марта 2011

Читать это статья

Я бы предпочел jQuery

Вот ДЕМО

Еще одна демонстрация

0 голосов
/ 10 марта 2011

Модификация Java Script:

function toggleTB(what){

var theTB = document.getElementById(what.value); 

if(what.checked){theTB.disabled=1}
else{theTB.disabled=0}

}

Модификация HTML:

<table>
    <tr>    
     <td style="border-top:none; text-decoration:underline;" >Specific operations/procedures</td>
     <td>
     <input type="checkbox" name="sd3[]" onClick="toggleTB(this)" value="mfi_nam9"  />Other(please specify):
     <input type="text" name="mfi_nam9"  id="mfi_nam9" class="text required" />
     </td>
     </tr>
     <tr>    
     <td style="border-top:none; text-decoration:underline;" >General principles/strategies</td>
     <td>
     <input type="checkbox" name="sd2[]" onClick="toggleTB(this)" value="mfi_nam8" />Other(please specify):
     <input type="text" name="mfi_nam8" id="mfi_nam8" class="text required" />
     </td>  
     </tr>

</table>

Примечание: Здесь я использовал ID, а не NAME, чтобы проверить форму поле ввода элемент.

Я думаю, что нет смысла отключать TEXT BOX при проверенном событии соответствующего CHECK BOX . Возможно, вы захотите включить TEXT BOX всякий раз, когда кто-то установит флажок, чтобы указать какую-то другую вещь, я не уверен, что вы хотите с этим делать.

Если вы хотите сделать то, что я думаю, просто измените строки JAVA SCRIPT, как показано ниже -

if(what.checked){theTB.disabled=0} // have placed 0 in place of 1
  else{theTB.disabled=1} // have placed 1 in place of 0
}

HTML INPUT-BOX, как показано ниже -

ИЛИ, если вы хотите установить (включить / отключить) флажок , это невозможно, поскольку вы знаете, что после отключения элемента событие click не будет воздействовать на элемент, поэтому как оно будет отключено :)

0 голосов
/ 10 марта 2011

Добавить клик на каждый из флажков

<input type="checkbox" name="sd2[]" value="mfi_nam8" onClick="toggleTB(this)" />Other(please specify):

и объявить toggleTB как

function toggleTB(what){
    what.form.elements[what.value].disabled = what.checked;
}
0 голосов
/ 10 марта 2011

Мы можем взять код и сделать такие изменения, как
1. Изменения в JavaScript:
function toggleTB(what,elid) { if(what.checked) { document.getElementById(elid).disabled=1 } else { document.getElementById(elid).disabled=0 } }
2. Флажок HTML-кода модификации
<input type="checkbox" name="sd3[]" value="mfi_nam9" onClick="toggleTB(this,'mfi_name1')" />Other(please specify): <input type="text" name="mfi_nam9" class="text required" id="mfi_name1" />
Обратите внимание, что мы использовали идентификаторы, которые будут различаться для каждого из текстовых полей, которые могут быть сгенерированы, даже если вы генерируете эти текстовые поля из кодов php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...