Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    problema pagina di inserimento con un evento onchange

    Salve a tutti ho un problema abbastanza grosso.
    Ho una pagina asp dove c'è un campo di un form di tipo testo.
    Io vorrei che quando un utente inserisce un valore in quel campo testo si formasse un recordset presente nella stessa pagina, che filtra i dati in base al valore che l'utente ha inserito nel campo.
    io ho risolto così:
    <input name="codice" type="text" id="codice" onChange="document.getElementById('form1').submit( );" value="<%=codtelaio%>" maxlength="18"/>
    praticamente un utente inserisce il valore nel campo testo e la pagina si ricarica passandosi il valore presente nel campo codice e il recordset mi si compila perfettamente.

    Il mio problema è questo..... in questo form ci sono altri campi che una volta che il recordset si è compilato devono essere inseriti in un DB e io ho creato una pagina insert.asp che legge i dati dal form e li inserisce nel DB... solo che quando un utente inserisce il valore nel campo codice la pagina si ricarica tramite un SUBMIT e quindi passa subito i valori alla insert.asp e mi fa un inserimento nel DB !!

    in teoria io vorrei fare così: si apre la pagina, l'utente inserisce il codice e la pagina crea il recordset, l'utente inserisce gli altri dati, clicca sul pulsante invia che passa tutti i valori alla pagina insert.asp che fa l'inserimento corretto.

    invece adesso come inserisco il codice appena si verifica onchange parte l'inserimento....

    come posso risolvere??

    grazie a tutti

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma perché non fare un solo inserimento e basta?
    Se inserisci il record, gli altri campi li potrai inserire solo facendo un UPDATE dopo aver recuperato però l'ID appena inserito (dopo aver messo il codice).

    Roby

  3. #3
    perdonami mi sono spiegato davvero malissimo

    Io faccio un solo insert.... o meglio il mio intento è quello di fare un insert solo quando un utente schiaccia il pulsante INVIA e avviene il SUBMIT.

    Solo che con quella operazione ONCHANGE anche quando esco da quel campo di testo avviene un SUBMIT ed è quello che voglio evitare..... ma allora come posso caricare il recordset ??

    spero di essere stato più chiaro .....

    grazie e scusa ancora

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma l'onchange che ragione ha di esistere?

    Roby

  5. #5
    In quella pagina ho un recordset che si forma leggendo una variabile che gli viene passata dal campo "codice" del form stesso.
    Uso poi alcuni dei campi del recordset per diciamo compilare altri campi testo presenti nel form.
    Per evitare di dover creare 2 pagine ho usato l'onchange.
    Ovvero -> io accedo alla pagina la prima volta e ovviamente il valore del campo testo "codice" è zero quindi il recordset è vuoto e tutti i campi del form che leggono dati dal recordset sono vuoti.
    Inserisco un valore all'interno del campo "codice" e appena esco da questo campo con l'onchange la pagina si ricarica e il recordset si compila e mi appaiono tutti i dati nei campi del form legati al recordset.
    ecco perchè ho usato l'onchange......
    ma così facendo non appena parte l'onchange parte anche l'inserimento.....!!

    questo è il form:
    <form id="form1" name="form1" method="post" action="insert.asp">
    ...
    ...
    </form>


    e questo è il campo "codice" dentro a questo form:
    <input name="codice" type="text" id="codice" onChange="document.getElementById('form1').submit( );" value="<%=codiceprodotto%>" maxlength="18"/>


    ho visto su altri siti che senza ajax questo "ricaricamento" della pagina è obbligatorio per ricompilare il recordset... ma siccome ajax non lo so usare cercavo una soluzione alternativa

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.