Portál AbcLinuxu, 12. května 2025 08:23
na checkboxu mam Onclick=DoSomething('var')
function DoSomething($var) { document.pujc_form.getElementByName($var).disabled=false; }var je PHPkem generovany name, ktery mam potom stejne v tom inputu
<input type="checkbox" name="name[]" value="31" onClick=DoSomething("31_check") /> <input type="text" name="31_check" disabled="true" value="15.03.10">Cely je to jeste ve formu, ale to snad nevadi. Takhle jak to je, to nefacha a nemam paru co mam zmenit, aby to jelo. Asi se neumim dostat k tomu prvku, protoze nefunguje zmenit ani value atd ... .
Řešení dotazu:
function DoSomething(name) { document.getElementByName(name).disabled=false; }
echo "function DoSomething() {"; echo "document.pujc_form.getElementByName(\"$var\").disabled=false;"; echo "}"; echo "<input type=\"checkbox\" name=\"name[]\" value=\"31\" onClick=DoSomething($var) />"; echo "<input type=\"text\" name=\"$var\" disabled=\"true\" value=\"15.03.10\">";To by ale bylo něco jiného, než jste napsal. Z toho by se pak vygenerovalo toto:
echo "function DoSomething() {"; echo "document.pujc_form.getElementByName("31_check").disabled=false;"; echo "}"; echo "<input type=\"checkbox\" name=\"name[]\" value=\"31\" onClick=DoSomething($var) />"; echo "<input type=\"text\" name=\"31_check\" disabled=\"true\" value=\"15.03.10\">";Jinak mám pocit, že ID elementu musí začínat písmenem, ne číslicí. Co vám nefunguje na tom příkladu, který jsem napsal v předchozím komentáři?
Soucasny funkcni kod ... pouzivam na PHP CodeIgniter:
foreach ($query->result() as $row){
if ($counter % 2) {
$tr = '<tr class="suda">';
} else {
$tr = '<tr class="licha">';
}
$vysledek .= $tr
. '<td>'.form_checkbox('name[]', $row->id, FALSE, 'onChange="check(this, \''.$row->id.'_check\');"').'</td>'
...
. '<td><input type="text" name="'.$row->id.'_check" disabled value="'.date('d.m.y').'"></td>'
. '</tr>';$counter++;
}
A ten JS je jak psal Fuky. Mate pravdu, muj problem byl v tom, ze jsem v JS predaval promennou stejne jako v PHP.
Děkuji všem za ochotnou pomoc při řešení takovéto prkotiny.<html> <body> <form name="form"> <input type="checkbox" name="checkbox1" onChange="check(this, 'text1');"> <input type="text" name="text1" disabled><br> <input type="checkbox" name="checkbox2" onChange="check(this, 'text2');"> <input type="text" name="text2" disabled> </form> <script> function check(obj, name){ if (obj.checked == true) { document.form.elements[name].value = "Hello World"; document.form.elements[name].disabled = false; } else { document.form.elements[name].value = ""; document.form.elements[name].disabled = true; } } </script> </body> </html>
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.