- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Passaggio dati da piu campi di testo da child a parent
-
Gli id devono essere sempre diversi in una pagina, ma stesso name per il radiobutton
<script language="javascript"> function tornaValore() { window.opener.document.getElementById("val_ritornato1").value = document.getElementById("val_da_tornare1").value; window.opener.document.getElementById("val_ritornato2").value = document.getElementById("val_da_tornare2").value; window.opener.document.getElementById("val_ritornato3").value = document.getElementById("val_da_tornare3").value; **for (counter = 0; counter < document.getElementsByName("myradio").length; counter++){ if (document.getElementsByName("myradio")[counter].checked){ window.opener.document.getElementById("radio_ritornato").value = document.getElementById("val_da_tornare3").value; } } ** window.close(); } </script> </head> <body> <br> Valore da ritornare 1: <input type="text" id="val_da_tornare1"> Valore da ritornare 2: <input type="text" id="val_da_tornare2"> Valore da ritornare 3: <input type="text" id="val_da_tornare3"> **Radiobutton da tornare: <input type="radio" id="myradio1" name="myradio" value="si" /> <input type="radio" id="myradio2" name="myradio" value="no" /> <input type="radio" id="myradio3" name="myradio" value="forse" />** <input type="button" value="Torna il valore e chiudi!" onClick="tornaValore()"> </body>
-
Perdonami ma non ho capito come funziona la cosa..
-
for (counter = 0; counter < document.getElementsByName("myradio").length; counter++){ if (document.getElementsByName("myradio")[counter].checked){ window.opener.document.getElementById("radio_ritornato").value = document.getElementById("val_da_tornare3").value; } }
Per ogni radiobutton con name myradio, verifica se è checked ed in tal caso ritorna il valore selezionato.
<input type="radio" id="myradio1" name="myradio" value="si" /> <input type="radio" id="myradio2" name="myradio" value="no" /> <input type="radio" id="myradio3" name="myradio" value="forse" />
Sono i 3 radiobutton che devono avere stesso attributo name
-
Ho provato ma non funziona...questp è il popup:
<script language="javascript"> function tornaValore() { window.opener.document.getElementById("val_ritornato1").value = document.getElementById("val_da_tornare1").value; window.opener.document.getElementById("val_ritornato2").value = document.getElementById("val_da_tornare2").value; window.opener.document.getElementById("val_ritornato3").value = document.getElementById("val_da_tornare3").value; for (counter = 0; counter < document.getElementsByName("myradio").length; counter++){ if (document.getElementsByName("myradio")[counter].checked){ window.opener.document.getElementById("radio_ritornato").value = document.getElementById("val_da_tornare4").value; } } window.close(); } </script> </head> <body> <br> Valore da ritornare 1: <input type="text" id="val_da_tornare1"> Valore da ritornare 2: <input type="text" id="val_da_tornare2"> Valore da ritornare 3: <input type="text" id="val_da_tornare3"> Radiobutton da tornare: <input type="radio" id="myradio1" name="val_da_tornare4" value="si" /> <input type="radio" id="myradio2" name="val_da_tornare4" value="no" /> <input type="radio" id="myradio3" name="mval_da_tornare4" value="forse" /> <input type="button" value="Torna il valore e chiudi!" onClick="tornaValore()"> </body> ```e questa è la pagina esempio.php:
<textarea id="val_ritornato1" name="prova1" cols="100" rows="5" ></textarea>
<textarea id="val_ritornato2" name="prova2" cols="100" rows="5" ></textarea>
<textarea id="val_ritornato3" name="prova3" cols="100" rows="5" ></textarea><textarea id="radio_ritornato4" name="radio_ritornato" cols="100" rows="5" ></textarea>
Sbaglio qualcosa? :rollo: Grazie...
-
Ciao Fede717,
attento ai nomi.
O chiami i radiobutton myradio o li chiami val_da_tornare4.
-
Anche mettendo i nomi giusti, lo script non funziona... Non mi torna i valori (se seleziono il primo radio, mi dovrebbe tornare il valore del primo radio selezionato, se seleziono il secondo mi torna il valore del secondo e così via..) in uno stesso campo di testo, in questo caso "radio_ritornato"...
-
Strano, a me funziona.
Mi riposti l'ultimo codice da te provato?
-
Certamente,
questo è il popup:<script language="javascript"> function tornaValore() { window.opener.document.getElementById("val_ritornato1").value = document.getElementById("val_da_tornare1").value; window.opener.document.getElementById("val_ritornato2").value = document.getElementById("val_da_tornare2").value; window.opener.document.getElementById("val_ritornato3").value = document.getElementById("val_da_tornare3").value; for (counter = 0; counter < document.getElementsByName("myradio").length; counter++){ if (document.getElementsByName("myradio")[counter].checked){ window.opener.document.getElementById("radio_ritornato").value = document.getElementById("myradio").value; } } window.close(); } </script> </head> <body> <br> Valore da ritornare 1: <input type="text" id="val_da_tornare1"> Valore da ritornare 2: <input type="text" id="val_da_tornare2"> Valore da ritornare 3: <input type="text" id="val_da_tornare3"> Radiobutton da tornare: <input type="radio" id="myradio1" name="myradio" value="si" /> <input type="radio" id="myradio2" name="myradio" value="no" /> <input type="radio" id="myradio3" name="myradio" value="forse" /> <input type="button" value="Torna il valore e chiudi!" onClick="tornaValore()"> </body> ```e questa è la pagina esempio.php:
<input name="val_ritornato" type="text" id="val_ritornato1" value="">
<input name="val_ritornato" type="text" id="val_ritornato2" value="">
<input name="val_ritornato" type="text" id="val_ritornato3" value="">
<input name="radio_ritornato" type="text" id="radio_ritornato" value="">
-
Si, c'è un errore. Corregi la riga in grassetto:
for (counter = 0; counter < document.getElementsByName("myradio").length; counter++){ if (document.getElementsByName("myradio")[counter].checked){ window.opener.document.getElementById("radio_ritornato").value = document.getElementsByName("myradio")[counter].value; } }
-
Grazie infinite!
Funziona...
-
Scusate se riesumo questo post, ma mi sono accorto che lo script "limita" il numero di radio a 4 opzioni.. se ne metto 5 lo script non funziona.. sbaglio qualcosa io?
Grazie anticipatamente,
Fede
-
Che ID hanno i 5 radio?
Magari è solo un problema di ID.
-
@marcocarrieri said:
Che ID hanno i 5 radio?
Magari è solo un problema di ID.da icone_0 a icone_3 ... se metto icone_4 non funziona, ovvero non chiude la finestra e passa i valori..:?
Grazie...
Fede