Salve,
avendo una pagina asp dovrei aprire una popup inviare una variabile,
dal popup cercare un record e restiture al form principale il record stesso.
grazie in anticipo
Salve,
avendo una pagina asp dovrei aprire una popup inviare una variabile,
dal popup cercare un record e restiture al form principale il record stesso.
grazie in anticipo
apri la popup in javascriptOriginariamente inviato da tigre2209
Salve,
avendo una pagina asp dovrei aprire una popup inviare una variabile,
dal popup cercare un record e restiture al form principale il record stesso.
grazie in anticipo
gli passi la variabile in qualche modo (querystring/form/session)
processi i dati (by asp) e li salvi nella pagina (form)
con un javascript prendi questi dati e li rimandi alla pagina principale (parent)
prego
IP-PBX management: http://www.easypbx.it
Old account: 2126 messages
Oldest account: 3559 messages
si, ma come?
hai un esempio?
considera che la pagina princiapale è
codice___________ dato da inviare
cognome_______- da riempire dopo
nome_____________ da riempire dopo
button INVIA
Scritto in due minuti in modo molto generico.
Cerca di capire cosa fanno queste istruzioni ed usale per quello che ti serve:
Pagina1
Popup.aspcodice:.... <input type="text" name="valoreDaRestituire" id="valoreDaRestituire" value="" /> Cerca record ....
Ciao,codice:dim valore = Request("ValoreDaCercare") Sql = "SELECT valoreDaRestituire FROM Tabella WHERE Valore = " & valore rs.Open sql, conn, 3, 1 if not rs.eof then %> <script> window.opener.getElementById("valoreDaRestituire").value = <%Response.write Rs("valoreDaRestituire") %>; </script> <% end if rs.close
fai sapere se è utile![]()
grazie per la risposta, ma
il problema ho visto è che la seconda pagina non riceve la variabile
ecco i codici delle due pagine:
CERCA.ASP
--------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>
<body>
<form name="form1" method="post" >
<input type="text" name="id" size="9" />
cognome <input type="text" name="cognome" />
NOME <input type="text" name="nome" />
Cerca record
</form>
</body>
</html>
--------------------------------------------
PAGINA RIEMPI.ASP
<%
id=request.QueryString("codice")
SET CONN=server.CreateObject("adodb.connection")
conn.ConnectionString ="PROVIDER=MICROSOFT.JET.OLEDB.4.0;" & "DATA SOURCE=" & server.mappath("/CONTABILE/ARCHNEW.MDB")
conn.Open
sql="select * from dipendenti" & " where ID='" & id &"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,3
if not rs.eof then
response.Write(rs("cognome"))
%>
<script>
window.opener.getElementById("cognome").value = <%Response.write Rs("cognome") %>;
window.close();
</script>
<%
else %>
<script>
alert "il dipendente non esiste"
</script>
<%end if
rs.close
%>
Attendere...............</p>
</p>
______________________________________________
DOV'E' L'ERROREEEEEE?????
Buona serata
Robycodice:sql="select * from dipendenti" & " where ID=" & id
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Se è su SQL Server non fa differenza la presenza degli apici. Anzi di recente ho visto che aiuta a prevenire certi attacchi di SQL Injection che non si basano sugli apici (ovviamente i controlli da fare sarebbero altri!).
Comunque mi pare di aver capito che non ti arriva il valore di ID.
Questo perchè hai ricalcato la struttura che ho fatto io però io il valore di ID l'ho passato 'a caso'
Non ti funziona perchè tu assegni al link un valore che non inizializzi da nessuna parte; o che comunque non inizializzi con il valore dell'input.
Per quello dovresti inviare il valore tramite Submit della form o magari tramite Javascript.codice:Cerca record
Se usi la submit della form ovviamente dovrai cambiare pagina (o mettere un target="_blank" nel tag <form> per aprire il popup).
Se usi javascript devi fare un semplice:
anche se personalmente ti suggerisco l'uso di getElementById che è meno problematica su Internet Explorer (anche se in questo caso non si creano problemi).codice:Cerca record
Ad ogni modo se lo scopo è solo quello di elaborare un id e compilare con il risultato della query due campi forse lo farei in maniera diversa.codice:Cerca record
Semplicemente metterei
[DISCLAIMER]codice:<script> function SendData(frm) { if (frm.id.value.length != 0) { if (frm.cognome.value.length != 0 && frm.nome.value.length != 0 ) frm.action = 'paginaAcuiInviareIdatiCompleti.asp'; return true; } else { alert("Compilare il campo ID!"); return false; } } </script> <% Dim nome, cognome, id id = Trim(request.form("id")) if id = "" Or not IsNumeric(id) then id = 0 if id <> 0 then SET CONN=server.CreateObject("adodb.connection") conn.ConnectionString ="PROVIDER=MICROSOFT.JET.OLEDB.4.0;" & "DATA SOURCE=" & server.mappath("/CONTABILE/ARCHNEW.MDB") conn.Open sql="select * from dipendenti" & " where ID='" & id &"'" set rs=server.createobject("adodb.recordset") rs.open sql,conn,3,3 if not rs.eof then Cognome = rs("cognome") Nome = rs("nome") end if End if %> <form name="form1" method="post" onsubmit="return SendData(this);"> <input type="text" name="id" value="<%=id%>" size="9" /> cognome <input type="text" name="cognome" value="<%=cognome%>" /> NOME <input type="text" name="nome" value="<%=nome%>" /> <input type="submit" value="invia dati" />
Ora, premetto che sono reduce da un venerdì sera alcolico, a stomaco vuoto e che mi sono appena svegliato.... quindi non prometto che funzion tutto
![]()
[/DISCLAIMER]
Comunque questo codice usa solamente una pagina e credo faccia lo stesso che vuoi fare tu.
Se nome o cognome sono vuoti invia l'ID a sè stessa, esegue la query, compila Nome e Cognome e li mette nelle input (che se ritieni il caso potresti mettere anche come 'readonly').
Altrimenti se sono già riempite viene impostata la action della form sulla pagina che deve ricevere i 3 valori e si continua con la submit.
Diciamo che così mi sembra più versatile.
Spero possa esserti utile(se ha senso ciò che ho scritto :berto: )
ciao,
ho provato come hai detto tu e funziona nel senso che la ricerca avviene nello stesso form.
considera che io dovrei poi nel form inserire altri dati e infine con un altro submit archiviare i dati nel database.
in pratica con Invia deve solo aprire un form effettuare la ricerca riempire i campi del form principale e chiudersi automaticamente.