Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Javascript - zákaz psaní do inputů po zaškrtnutí checkboxu

Ahoj, potřeboval bych poradit s JS a HTML. Mám takovýto formulář (příklad):

<form action="zpracuj.php" method="POST">
Fakturační adresa<br>
Jméno: <input name="jmeno"><br>
Adresa: <input name="adresa"><br>
Je doručovací adresa stejná jako fakturační?: <input type="checkbox" name="jestejna"><br>
Doručovací adresa<br>
Jméno: <input name="jmeno2"><br>
Adresa: <input name="adresa2"><br>
</form>

A já potřebuju něco v javascriptu, pokud by byl checkbox zaškrtnutý, políčka jmeno2 a adresa2 by zešedla (třeba readonly nebo disabled) a pokud by byl checkbox odškrtnutý, políčka by se zase "odblokovala". Na googlu jsem hledal, ale moc z toho chytrej nejsem - neumím JS. Díky za odpovědi.

No Marku, takový zkušený diskutér a neumí použít tag CODE? (upraveno) (host)

Předmět Autor Datum
Nějak takto - po kliknutí se ty dva inputy nastaví na readonly. Nebo si akci uprav podle potřeby...…
host 23.02.2009 19:14
host
Jé, ono to funguje, teďka jsem našel tag onchange tak si to už podle toho upravím. Díky moc ;-) Fun…
marekdrtic 23.02.2009 19:17
marekdrtic
Jen technická - onChange není tag, ale událost. :i:
host 23.02.2009 19:21
host
No vidíš, už mě z toho hrabe :-D
marekdrtic 23.02.2009 19:21
marekdrtic
...mám teď docela naspěch, cca 60 věcí, co je třeba dodělat na eshopu... Kdybys jel podhle RUP, tak… poslední
MaSo 23.02.2009 19:24
MaSo

Nějak takto - po kliknutí se ty dva inputy nastaví na readonly. Nebo si akci uprav podle potřeby...

<html>
<head>
<title>Disable input - ukázka</title>
<script type="text/javascript">
function disable()
{
document.formular.jmeno2.disabled = true;
document.formular.adresa2.disabled = true;
}
</script>
</head>
<body>
<form action="zpracuj.php" method="POST" name="formular">
Fakturační adresa<br>
Jméno: <input name="jmeno"><br>
Adresa: <input name="adresa"><br>
Je doručovací adresa stejná jako fakturační?: <input type="checkbox" name="jestejna" onclick="disable()"><br>
Doručovací adresa<br>
Jméno: <input name="jmeno2"><br>
Adresa: <input name="adresa2"><br>
</form>
</body>
</html>

//edit: skript umožňuje jen zakázání psaní do inputu, na opětovné povolení stačí přidat podmínku "if input disabled then enabled else disabled".

Jé, ono to funguje, teďka jsem našel tag onchange tak si to už podle toho upravím. Díky moc ;-)

Funkční kod:

<html>
<head>
<title>Disable input - ukázka</title>
<script type="text/javascript">
function disable()
{
if(document.formular.jmeno2.disabled == true)
{
document.formular.jmeno2.disabled = false;
document.formular.adresa2.disabled = false;
}
else
{
document.formular.jmeno2.disabled = true;
document.formular.adresa2.disabled = true;
}
}
</script>
</head>
<body>
<form action="zpracuj.php" method="POST" name="formular">
Fakturační adresa<br>
Jméno: <input name="jmeno"><br>
Adresa: <input name="adresa"><br>
Je doručovací adresa stejná jako fakturační?: <input type="checkbox" name="jestejna" onclick="disable()"><br>
Doručovací adresa<br>
Jméno: <input name="jmeno2"><br>
Adresa: <input name="adresa2"><br>
</form>
</body>
</html>

PS: Za ten tag CODE se omlouvám, mám teď docela naspěch, cca 60 věcí, co je třeba dodělat na eshopu...

Zpět do poradny Odpovědět na původní otázku Nahoru