Visualizzazione dei risultati da 1 a 8 su 8

Discussione: popup

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    popup

    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

  2. #2

    Re: popup

    Originariamente 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
    apri la popup in javascript
    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    popup

    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

  4. #4
    Scritto in due minuti in modo molto generico.
    Cerca di capire cosa fanno queste istruzioni ed usale per quello che ti serve:


    Pagina1
    codice:
    ....
    <input type="text" name="valoreDaRestituire" id="valoreDaRestituire" value="" />
    
    Cerca record
    ....
    Popup.asp
    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
    Ciao,
    fai sapere se è utile

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    sql="select * from dipendenti" & " where ID=" & id
    Roby

  7. #7
    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.
    codice:
    Cerca record
    Per quello dovresti inviare il valore tramite Submit della form o magari tramite Javascript.

    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:
    codice:
    Cerca record
    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.

    Semplicemente metterei
    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" />
    [DISCLAIMER]
    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: )

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.