Salve a tutti,
mi appello a voi tutti per cercare di risolvere il problema del quale, da solo, proprio non riesco a venire a capo.
Ho navigato dappertutto in rete ed ho trovato molti esempi ma tutti per asp net oppure php. Inoltre le mie conoscenze sono molto limitate. Ho una buona esperienza solo con asp.
Senza dilungarmi oltre ho questo problema.
In una pagina asp ho un form accanto al quale un link che apre una finestra popup (semplice o modale che vogliate fa lo stesso). La pagina padre passa alla child una singola variabile. Il codice che uso è:
<a href="javascript:;" onclick="popWin('pagina.asp?keyword='+document.get ElementById('keyword').value, '', '600', '400', 'yes');"> (nell'header della pagina c'è l'include popup_window.js che gestisce tutte le pop che voglio aprire).
Nella pagina child richiedo la variabile keyword, interrogo il database e costruisco una tabella il cui numero di record può variare da zero a 2000, in funzione di quanti risultati corrispondono al criterio di ricerca (Where campo1 like kyeword or campo2 like ecc ecc).
All'inizio di ogni riga della tabella restituita vorrei inserire un radio button con l'evento onclick. Quando l'utente sceglie il record che desidera, vorrei che i campi del form della pagina padre si popolassero con i valori di quel record e la popup si chiudesse.
Fino a questo momento sono riuscito a completare la funziona ma i valori che mi vengono restituiti sono solo quelli del primo record della tabella. La soluzione a questo problema l'avrei individuata nel post dell'id con reload della pagina padre e nuova query al database, ma è una operazione doppia che vorrei evitare. Per favore come accidenti posso fare per costruire questo benedetto array che resituisca i valori corretti al form della pagina padre. Aiutatemi, vi prego. posto di seguito il codice delle due pagine.
Pagina padre:
<form id="send_mail" name="send_mail" method="post" action="msg_send.asp" onsubmit="return validateStandard(this, 'error');">
<input type="hidden" id="Msg_User_ID_From" name="Msg_User_ID_From" value="<%=Session("User_ID")%>">
<input type="hidden" id="Msg_Email_From" name="Msg_Email_From" value="<%=Session("Email")%>">
<input type="hidden" id="Msg_Username_From" name="Msg_Username_From" value="<%=Session("Username")%>">
<input type="hidden" id="Msg_Name_From" name="Msg_Name_From" value="<%=Msg_Name_From%>">
<input type="hidden" id="Msg_User_ID_To" name="Msg_User_ID_To">
<input type="hidden" id="Msg_Email_To" name="Msg_Email_To">
<input type="hidden" id="Msg_Name_To" name="Msg_Name_To" value="<%=Msg_Name_To%>">
<table align="center" border="1" cellspacing="0" cellpadding="0" bordercolorlight="#006633" bordercolordark="#F4F4F4">
<tr>
<td valign="top" width="100" bgcolor="#F4F4F4">
<em style="font-style: normal">
<font face="Tahoma" style="font-size: smaller" color="#006633">A</font><font face="Tahoma" color="#006633">:</font>[/i]</td>
<td width="400" valign="middle"><input type="text" id="Msg_Username_To" name="Msg_Username_To" required="1" realname="Destinatario" size="30">
<font face="Tahoma" size="2">Rubrica</font></td>
</tr>
<tr>
<td valign="top" width="100" bgcolor="#F4F4F4">
<em style="font-style: normal">
<font face="Tahoma" style="font-size: smaller" color="#006633">Da</font><font face="Tahoma" color="#006633">:</font>[/i]</td>
<td width="400"><% If Session("Used_Name") <> "" Then%><% =Session("Used_Name") %><%Else%><%=Session("First_Name")%><%End If%><%=Session("Last_Name")%>-
<%=Session("Username")%>
</td>
</tr>
<tr>
<td valign="top" width="100" bgcolor="#F4F4F4">
<em style="font-style: normal">
<font face="Tahoma" color="#006633">Oggetto:</font>[/i]</td>
<td width="400"><input type="text" id="Msg_Subject" required="1" name="Msg_Subject" realname="Oggetto" size="60"></td>
</tr>
<tr>
<td valign="top" width="100" bgcolor="#F4F4F4">
<em style="font-style: normal">
<font face="Tahoma" color="#006633">Messaggio:</font>[/i]</td>
<td width="400">
<textarea rows="6" id="Msg_Text" name="Msg_Text" required="1" realname="Testo Messaggio" cols="70"></textarea>
</td>
</tr>
<tr>
<td valign="top" width="100" bgcolor="#F4F4F4"></td>
<td width="400" align="center"><input type="reset" value="Cancella" class="puls"><input type="submit" value="Invia Email" class="puls">
</td>
</tr>
</table>
</form>
Sulla pagina child ho il seguente codice:
Nell'header la funzione
<script language="javascript" type="text/javascript">
function dataBack(){
window.opener.document.getElementById('Msg_User_ID _To').value=document.getElementById('Msg_User_ID_T o').value;
window.opener.document.getElementById('Msg_Email_T o').value=document.getElementById('Msg_Email_To'). value;
window.opener.document.getElementById('Msg_Usernam e_To').value=document.getElementById('Msg_Username _To').value;
window.opener.document.getElementById('T_Used_Name ').value=document.getElementById('T_Used_Name').va lue;
window.opener.document.getElementById('T_First_Nam e').value=document.getElementById('T_First_Name'). value;
window.opener.document.getElementById('T_Last_Name ').value=document.getElementById('T_Last_Name').va lue;
self.close();
return false;
}
</script>
nel corpo la tabella:
<p align="center">
[img]/icons/arrow_right.gif[/img]
</td>
<td nowrap width="35%"><font face="Tahoma" size="2"><input type="hidden" id="T_First_Name" name="T_First_Name" value="<%=CmdListUsers("First_Name")%>"><%=CmdList Users("First_Name")%></font></td>
<td width="35%"><font face="Tahoma" size="2"><input type="hidden" id="T_Last_Name" name="T_Last_Name" value="<%=CmdListUsers("Last_Name")%>"><%=CmdListU sers("Last_Name")%></font></td>
<td width="21%"><font face="Tahoma" size="2"><input type="hidden" id="Msg_Username_To" name="Msg_Username_To" value="<%=CmdListUsers("Username")%>"><%=CmdListUs ers("Username")%></font></td>
</tr>
Evidenziato in rosso è il punto in cui viene richiamata funzione, che in questo caso ho associato a un'immagine ma il risultato non cambia. Io vorrei metterci un radio button.