Autor Zpráva
retr
Profil *
Pomocí javascriptu generovaného pomocí php znovuvyplňuju formulář po odeslání. Vše funguje krásně kromě checkboxu.

if($value === "on")
$retr .= " document.getElementById('".$valuename."').checked='checked';\n";
else
$retr .= " document.getElementById('".$valuename."').value='".$value."';\n";

Tato konstrukce sice funguje, ale pokud je v textovém inputu "on", tak to přestává samozřejmě fungovat. Jak lépe rozeznat text od checkboxu?
DoubleThink
Profil *
Na straně serveru nijak.
Jan Tvrdík
Profil
retr:
Řeš to na straně JS. V php vytvoř akorát pole $values[id => value] a to pak prohnané přes json_encode vlož do JS, který ho pak projede nastaví vše potřebné.
Chamurappi
Profil
Reaguji na retra:
document.getElementById('".$valuename."').checked='checked';
Chtěl bych podotknout, že možnými hodnotami vlastnosti „checked“ jsou true a false, nikoliv "checked". (I když "checked" se automaticky vezme jako true.)
retr
Profil *
Takže prostě vygenerovat nějaký javascript kód který sis ám rozpozná, zda se jedná i text/checkbox? Jak by takový kód měl vypadat? JS není mojí doménou.
Radek9
Profil
retr:
document.getElementById("id").type

Vrátí ti text, checkbox či třeba password.
Chamurappi
Profil
Reaguji na Radka9:
Zajímavé je, že vlastnost „type“ mají všechny formulářové prvky, včetně těch, které nemají atribut „type“ (třeba i <textarea> a <select>).
retr
Profil *
díky moc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: