Newsgroup: it.comp.www.php
Titolo: problema form, readonly e disabled

Ho questa form dentro una tabella (si tratta di inserire delle informazioni
[qui ho messo solo username e Nome] di un utente in un db) .
$missing_field č true quando manca un campo.
La variabile $r_username č stata precedentemente riempita, č per questo
motivo che ho messo readonly=\"true\".
print("<form method=\"post\"
action=\"personal.php?opt=adduser&tipo=cliente\" name=\"form\">");
print("<table align=\"center\" border=\"1\" cellspacing=\"1\"
class=\"nero11\" ");
print("<tr>");
if(!$missing_field)
    print("<td bordercolor=\"#FFFFFF\" align=\"center\"
colspan=\"2\">&nbsp;</td>");
else
    print("<td align=\"center\" valign=\"middle\" colspan=\"2\"
class=\"rosso11\">Parametro richiesto mancante!</td>");
print("</tr>");
print("<tr bgcolor=\"#EEEEEE\">");
print("<td align=\"center\" colspan=\"2\">I campi sono tutti
obbligatori</td>");
print("</tr>");
print("<tr bgcolor = \"#FFFFFF\">");
print("<td width=\"40%\">Username:</td>");
print("<td width=\"60%\"><input type=\"text\" name=\"r_username\"
size=\"20\" value=\"" . $r_username . "\" readonly=\"true\"></td>");
print("</tr>");
print("<tr bgcolor=\"#EEEEEE\">");
print("<td>Nome:</td>");
if(!$missing_field)
    print("<td><input type=\"text\" name=\"r_nome\" size=\"20\"></td>");
else
    print("<td><input type=\"text\" name=\"r_nome\" size=\"20\" value=\"" .
$r_nome . "\"></td>");
print("</tr>");
// Riga pulsante
print("<tr><td height=\"60\" colspan = \"2\" align = \"center\">");
print("<input type=\"submit\" name=\"registra2\" value=\"Registra!\" />");
print("</td></tr>");
print("</table>");
print("</form>");
Il problema sta nel fatto che vorrei mettere anche:
disabled=\"true\"
dentro
<input type=\"text\" name=\"r_username\" size=\"20\" value=\"" . $r_username
. "\" readonly=\"true\" ></td>");
per far diventare il campo piů scuro e far capire meglio che č readonly
(anche se sarebbe solo una cosa in piu'),
perň se aggiungo disabled=\"true\", lascio (volontariamente) vuoto il campo
Nome,
e poi clicco su "Registra!",
nel campo dello username (non modificabile) sparisce lo username (inserito
in precedenza) che invece dovrebbe restare!!
E da quel momento in poi, pur completando il campo Nome, mi dice sempre
"Parametro richiesto mancante!" (giustamente, perché il valore č sparito..
ma perché sparisce?)
(se invece non metto disabled [lascio solo readonly], funziona tutto
perfettamente,
ovvero cliccando su Registra quando manca un parametro, il campo username
non sparisce e resta non modificabile).
Sapete dirmi perché si comporta cosě?
(se non č chiara la spiegazione, userň altre parole).
grazie a tutti.

 
invece di readonly="true"
devi restituire
readonly="readonly".
Stesso dicasi per disabled, che dovrebbe essere
disabled="disabled". Almeno in xhtml.
In html (che mi pare il tuo caso) bastano le keywords readonly e disabled.
Comunque, se una <input> viene disabilitata, il valore non viene 
passato. That's all.
Se ti serve renderlo 'più scuro' devi usare gli stili css, ad esempio:
<input type="text" name="r_username" value="Ciccio Pelliccio" 
readonly="readonly" style="background: black; color: white" />
-- 
Spoken: How much is that gorilla in the window?
Take our advice, At any price, A gorilla like Magilla is mighty nice.
Gorilla, Magilla Gorilla for sale

 readonly="readonly" style="background: black; color: white" />
Ok, grazie mille.