Non credo che esista onchange per un radio (cosa dovrebbe cambiare? non c'e` un value che cambia!).
Per i radio devi usare onclick.
E nella funzione utlizzi l'oggetto campo: devi passare l'oggetto, non il suo value.
Morale:
onclick="autofill(this);"
Non credo che esista onchange per un radio (cosa dovrebbe cambiare? non c'e` un value che cambia!).
Per i radio devi usare onclick.
E nella funzione utlizzi l'oggetto campo: devi passare l'oggetto, non il suo value.
Morale:
onclick="autofill(this);"
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Niente da fareOriginariamente inviato da Mich_
Morale:
onclick="autofill(this);"![]()
Ho fatto come mi hai detto cioè così:
<input type="radio" name="predefinita" onClick="autofill(this);" value="g">
e ho provato anche a eliminare il value dal js
ma non mi funziaCodice PHP:var valore = cc; //var valore = cc.value;
![]()
わさび
Anzitutto metti un alert all'inizio della funzione, per verificare se ci entra.
Poi se hai altri problemi, dovresti postare il codice che usi (lo script + i campi che vengono utilizzati), oppure lasciare un link.
Hai fatto varie modifiche (direi che ne hai fatte anche un po' a caso) ed e` impossibile fare una disgnosi su uno script che non si conosce.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
C'hai ragione!Originariamente inviato da Mich_
Anzitutto metti un alert all'inizio della funzione, per verificare se ci entra.
Ho messo l'alert e nella funzione non ci entra proprio!
Ma non capisco perchè...
l'include è fatto bene e ho provato il tutto anche senza include ed il risultato è invariato...
Ok posto di nuovo tutto quello che ho fatto:Poi se hai altri problemi, dovresti postare il codice che usi (lo script + i campi che vengono utilizzati), oppure lasciare un link.
(Purtroppo non posso postare il link diretto perchè la pagina è in un area riservata login/pw.)
Nell'html il form è definito così:Codice PHP:<?php
# Innanzitutto includo il Js
if ($insertuser) print "<script language=\"javascript1.2\" src=\"js/autofill.js\"></script>";
?>
<form name="insertuser" action="pagina.php" method="get">
L'html che dovrebbe azionare il Js
<input type="radio" name="predefinita" value="g" onClick="autofill(this);"> g
<input type="radio" name="predefinita" value="v" onClick="autofill(this);"> v
<input type="radio" name="predefinita" value="c" onClick="autofill(this);"> c
<input type="radio" name="predefinita" value="p" onClick="autofill(this);"> p
E sotto gli altri campi del form che dovrebbero compilarsi quando un radio su è checkato
<input type="radio" name="f" value="g"> g
<input type="radio" name="f" value="v"> v
<input type="radio" name="f" value="c"> c
<input type="radio" name="f" value="p"> p
<input type="checkbox" name="carta" value="1">
<input type="checkbox" name="online" value="1">
<input type="checkbox" name="foto" value="1">
<input name="com" type="text" id="com" size="6" tabindex="80">
<input name="ric" type="text" id="ric" size="6" tabindex="85">
<input type="checkbox" name="comm" value="1">
<input type="checkbox" name="pagina" value="1">
<input name="submit" type="submit" id="submit" value="Invia">
Ed ora il Js incluso:
Codice PHP:<!--
function autofill(cc) {
alert ("sono dentro");
var valore = cc; //var valore = cc.value;
switch valore {
case 'g':
cc.form.f[0].click(); // type=radio
cc.form.carta.checked = true; // type=checkbox
cc.form.online.checked = true; // type=checkbox
cc.form.foto.checked = true; // type=checkbox
cc.form.com.value = "3"; // type=text
cc.form.ric.value = "50"; // type=text
cc.form.comm.checked = false; // type=checkbox
cc.form.pagina.checked = false; // type=checkbox
break;
default:
alert('errore');
}
// qualcosa eventuale;
return;
}
//-->
=_='Hai fatto varie modifiche (direi che ne hai fatte anche un po' a caso)
P.s. ho provato anche così:
onclick="javascript:autofill(this);"
ma non cambia nulla =_='
わさび
Ancora domande.
1. hai un doctype nella pagina? Perche` con i doctype piu` evoluti lo script non puo` stare dentro la pagina e l'evento che usi (onClick) contiene un errore di sintassi (dovrebbe essere onclick).
2. che browser usi (tipo e versione)?
3. lo script e` inserito nella pagina? Controlla se arriva al browser (eventualmente e` un problema PHP).
4. lo script e` definito prima di usarlo? (quello script andrebbe posizionato nella head, e comunque prima del form).
PS la variabile valore deve contenere cc.value, non cc (ma questo e` un problema che verra` dopo aver risolto il primo).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
No, non ne ho definito nessuno...Originariamente inviato da Mich_
Ancora domande.
1. hai un doctype nella pagina? Perche` con i doctype piu` evoluti lo script non puo` stare dentro la pagina e l'evento che usi (onClick) contiene un errore di sintassi (dovrebbe essere onclick).
In realtà non ci capisco molto di doctype.
È sempre necessario indicarne uno?
Se si, avresti per caso un link dove studiarmi bene la differenza?
Di solito uso Mozilla 1.7.2, ma testo anche su Mozilla Firefox 0.9.3, quella cacca di IE, su Netscape 7.1, e su Macintosh Safari, Mozilla e IE.2. che browser usi (tipo e versione)?
Lo script è incluso con un include e, pulendo la cache, e controllando lo script una volta caricata la pagina, l'include c'è, quindi funziona correttamente. Inoltre ho provato anche a toglierlo dall'include e a inserirlo direttamente, ma non è cambiato nulla... =_='3. lo script e` inserito nella pagina? Controlla se arriva al browser (eventualmente e` un problema PHP).
Si, è inserito nella head, ed è quindi definito prima di essere usato...4. lo script e` definito prima di usarlo? (quello script andrebbe posizionato nella head, e comunque prima del form).
Si, ho provato in entrambi i modi, ed ora l'ho rimessa com'era (var valore = cc.value;), ma purtroppo, come mi hai fatto notare tu nella funzione non ci entra proprio, perchè il window.alert ("sono dentro"); non funziaPS la variabile valore deve contenere cc.value, non cc (ma questo e` un problema che verra` dopo aver risolto il primo).![]()
わさび
A questo punto e` difficile aiutarti.
Prova a chiamare una funzione diversa (basta che contenga un alert() ), prova a chiamarla con altri eventi (magari da campi diversi), ... insomma cambia qualcosa nella chiamata.
Io sospetto un errore di sintassi (di quelli tanto banali che non li vedi).
PS. sono abilitati gli errori? In Mozilla/Netscape/FF basta che digiti "javascript:" (con i duepunti ma senza virgoeltte) nella location e ti si apre la console degli errori. Poi dovrai cancellarla e ricaricare la pagina.
PS. pomeriggio non saro` in linea, per cui se nontrovi qualcun altro che ti aiuta dobbaimo rimandare a domani.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Grazie infinite per l'aiuto e per la disponibilità. Ora vedo di fare un po' di tentativi e poi ti farò sapere.Originariamente inviato da Mich_
A questo punto e` difficile aiutarti.
Prova a chiamare una funzione diversa (basta che contenga un alert() ), prova a chiamarla con altri eventi (magari da campi diversi), ... insomma cambia qualcosa nella chiamata.
Io sospetto un errore di sintassi (di quelli tanto banali che non li vedi).
PS. sono abilitati gli errori? In Mozilla/Netscape/FF basta che digiti "javascript:" (con i duepunti ma senza virgoeltte) nella location e ti si apre la console degli errori. Poi dovrai cancellarla e ricaricare la pagina.
PS. pomeriggio non saro` in linea, per cui se nontrovi qualcun altro che ti aiuta dobbaimo rimandare a domani.
Si, in effetti stai parlando con una persona molto specializzata a perdersi in un bicchiere d'acqua (e a fare errori del caXXX) =_='
Grazie ancora e a dopo/domani![]()
わさび
Non sono ancora riuscito a capire dov'è l'errore, e perchè non esegue la funzione, però ho fatto come mi hai detto e ho aperto la console degli errori e mi da:
che vor dì?codice:missing (before switch expression Source file: autofill.js Line: 6 °switch valore { ---------------
わさび