Dunque il mio problema è il seguente.
Ho un form di inserimento dati:
codice:
<script language='Javascript'>
function popMessaggio() {
window.open("iscrizione.asp", "PopUp", "width=280,height=250,scrollbars=no");
}
</script>
<form name="form_mailing" method="post" action="javascript:popMessaggio();" onSubmit="return controlloemail(this)">
<table width="86" border="0" cellspacing="2" cellpadding="0" align="center">
<tr>
<td>
<input type="text" name="email" maxlength="25" size="17">
</td>
</tr>
<tr>
<td align="left" class="text">
<input type="radio" name="action" value="iscriviti" id="add" checked>Iscriviti
<input type="radio" name="action" value="cancellati" id="delete">Cancellati</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="submit" value="Conferma">
</td>
</tr>
</table>
</form>
Come potete vedere uso la seguente:
codice:
<form name="form_mailing" method="post" action="javascript:popMessaggio();" onSubmit="return controlloemail(this)">
proprio per ottenere l'apertura della action in un popup. La funzione JS è:
codice:
<script language='Javascript'>
function popMessaggio() {
window.open("iscrizione.asp", "PopUp", "width=280,height=250,scrollbars=no");
}
</script>
Il problema qual è che la pagina di popup si apre, ma non mi stampa a video la variabile ASP recuperata tramite request.form come invece dovrebbe.
Questa è la popup:
codice:
<%
response.buffer=true
'Dichiaro le variabili
Dim indirizzo_email 'email inserita nel form
Dim azione 'scelta se iscriversi o cancellarsi nel form
Dim rs_nuovo_membro 'iscrizione nuovo membro
Dim messaggio_errore 'creo un messaggio di errore in caso di email già presente
Dim rs_rimuovi_membro 'cancellazione utente dalla mailing
indirizzo_email = lcase(trim(Request.Form("email"))) 'prendo l'email e trasformo i caratteri in minuscolo
response.write(indirizzo_email)
azione = Request.Form("action") 'prendo l'azione dell'utente
'apro la connessione al database
%>
<%
Select Case azione 'analizzo le diverse azioni che vuole fare l'ultente
Case "iscriviti" 'se l'utente si iscrive
strSQL = "SELECT Email FROM mailing_list where Email = '" & indirizzo_email & "'"
objConn.execute(strSQL)
Set rs_nuovo_membro = Server.CreateObject("ADODB.Recordset")
rs_nuovo_membro.Open strSQL, objConn
if not rs_nuovo_membro.eof then
response.write("L'Email è già presente in archivio")
else
'Aggiungo un nuovo record
sql = "INSERT INTO mailing_list(Email) VALUES('" & indirizzo_email & "')"
objConn.execute(sql)
response.write("L'Email è stata inserita correttamente nel nostro archivio")
Messaggio = 2
End If
'**** Invio Email *********
Set objMail = CreateObject("CDO.Message")
objMail.From="info@tuttoelezioni.it"
objMail.To=indirizzo_email
objMail.Subject="Iscrizione Neswletter"
objMail.HTMLBody="<html><body bgcolor=#FFFFFF><font face=verdana size=4 color=#000000><center>
Grazie per esserti iscritto alla newsletter di Tuttoelezioni.it</font></body></html>"
objMail.Send()
Set objMail = nothing
'*****************************
'Reset recordset
rs_nuovo_membro.Close
Set rs_nuovo_membro = Nothing
Case "cancellati" 'se l'utente si cancella
strSQL = "SELECT Id, Email FROM mailing_list where Email = '" & indirizzo_email & "'"
objConn.execute(strSQL)
Set rs_rimuovi_membro = Server.CreateObject("ADODB.Recordset")
rs_rimuovi_membro.Open strSQL, objConn
if not rs_rimuovi_membro.EOF Then
sqlCancella = "delete from mailing_list where Id = " & rs_rimuovi_membro("Id")
objConn.execute(sqlCancella)
response.write("L'Email è stata correttamente cancellata")
Messaggio = 3
else
response.write("L'Email digitata non risulta presente in archivio")
Messaggio = 4
end if
'**** Invio Email *********
Set objMail = CreateObject("CDO.Message")
objMail.From="info@tuttoelezioni.it"
objMail.To=indirizzo_email
objMail.Subject="Rimozione Email"
objMail.HTMLBody="<html><body bgcolor=#FFFFFF><font face=verdana size=4 color=#000000><center>
La sua email è stata cancellata dall'archivio di Tuttoelezioni.it</font></body></html>"
objMail.Send()
Set objMail = nothing
'*****************************
rs_rimuovi_membro.Close
Set rs_rimuovi_membro = Nothing
End Select
objConn.close
set objConn = nothing
%>
LA riga in grassetto al submit del form e dell'apertura della popup non viene stampata a video di conseguenza anche le altre operazioni di scrittura sul DB non vengono eseguite.
Ho postato qui, perchè penso che il problema sia principalmente di JS, spero sia la sezione giusta.
Grazie per l'aiuto.