- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Passaggio dati da piu campi di testo da child a parent
-
Ciao Fede717,
Basta aggiungere i campi text e textarea e il comando javascript: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;** 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"> <input type="button" value="Torna il valore e chiudi!" onClick="tornaValore()"> </body>
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>
-
Grazie inifinite per la risposta
Un'altra domanda.. ma se volessi mettere al posto del campo di testo un gruppo di pulsanti di scelta... come posso fare? Perchè per far si che il valore ritorni alla finestra madre dovrei asssegnare a tutti i pulsanti di scelta uno stesso id...ma verrebbe ritornato sempre lo stesso valore
Sbaglio?:?
-
Per pulsante di scelta intendi i radiobutton o i checkbox?
-
@ayrton2001 said:
Per pulsante di scelta intendi i radiobutton o i checkbox?
Ciao, intendo i radiobutton
Grazie..
Federico
-
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