Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24

    Riempimento form automatico con javascript da Database

    Ciao a tutti,
    ho un problemino con una pagina in cui ci sono dei campi da compilare...

    In questa pagina si può scrivere i dati a mano, oppure tramite un bottone aprire un popup che visualizza un elenco di oggetti già presenti nel database e scegliendone uno compila automaticamente 2 campi (codice, descrizione)

    Ho necessità di inserire un terzo campo "prezzo"(puni nel codice) ma quando clicco per compilare il campo mi visualizza "undefined"

    Io credo dipenda da qui:

    xx = sfoglia_cod.split("#!#");

    Comunque vi posto il codice, questo è lo script che deve ricevere i dati dal popup:

    <script>
    if (!document.layers)
    document.write('<div id="divStayTopLeft" style="position:absolute">')

    function sfoglia_codart(filtro, cod_art, i)
    {
    sfoglia_cod = window.showModalDialog("sfoglia_cod_art.asp?testo= "+filtro+"&i="+i, null, "dialogWidth:400px; dialogHeight:400px; scroll=yes; status=no; edge: raised; help: no;");
    if (sfoglia_cod!=null)
    {
    xx = sfoglia_cod.split("#!#");
    document.getElementById('cod_art'+i).value = unescape(xx[0]).replace(/\+/g, ' ');
    document.getElementById('descrizione'+i).value = unescape(xx[1]).replace(/\+/g, ' ');
    //document.getElementById('um'+i).value = unescape(xx[2]).replace(/\+/g, ' ');
    document.getElementById('puni'+i).value = unescape(xx[3]).replace(/\+/g, ' ');
    //document.getElementById('iva'+i).value = unescape(xx[4]).replace(/\+/g, ' ');
    }
    }

    </script>



    e questo è quello che c'è nel codice del popup:


    <%
    rscodart = rs("Cod_Art")
    rsdescrizione = rs("Descrizione")
    rspuni = rs("Puni")

    rett = server.URLEncode(rscodart) & "#!#" & server.URLEncode rsdescrizione) & "#!#" & server.URLEncode(rspuni) & "#!#"


    %>
    <td align=center width="15%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rscodart%></font></td>
    <td align=center width="71%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rsdescrizione%></font></td>
    <td align=center width="9%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rspuni%></font></td>
    <td align=center width="3%" bgcolor="#FFEFD5"><font size="1"><input type="button" value="+" onclick="java-script:scelta('<%=rett%>');"></font></td>
    </tr>
    <%
    rs2.close
    rs.movenext
    loop
    %>


    Come potete vedere credo che chi l'ha fatto aveva predisposto l'aggiunta di nuovi campi nello script...ma non riesco a sistemarlo...
    Potete darmi una mano??

    Grazie
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    Nessuno può aiutarmi???

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Manca la funzione scelta() che richiami nell'onclick de button :master:
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    Scusate..

    Riposto il codice del popup che deve mandare i dati al form:

    <%@ language=vbscript %>
    <%
    set cnn = Server.CreateObject("ADODB.Connection")
    set rs = Server.CreateObject("ADODB.RecordSet")
    cnn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & application("db")

    testo = request.querystring("testo")
    testo = testo & "%"

    set cmmd = Server.CreateObject("ADODB.Command")
    cmmd.ActiveConnection=cnn
    cmmd.CommandText = "SELECT * FROM ARTICOLI WHERE Cod_Art LIKE ?;"
    cmmd.CommandType = 1
    set param1 = cmmd.CreateParameter("testo", 200, 1, len(testo), testo)
    cmmd.Parameters.Append param1

    set rs = cmmd.execute
    set rs2 = Server.CreateObject("ADODB.RecordSet")
    %>

    <script language=javascript>
    function scelta(x)
    {
    window.returnValue=x;
    window.close();
    }
    </script>

    <%
    rscodart = rs("Cod_Art")
    rsdescrizione = rs("Descrizione")
    rspuni = rs("puni")
    rett = server.URLEncode(rscodart) & "#!#" & server.URLEncode(rsdescrizione) & "#!#"
    %>
    <td align=center width="15%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rscodart%></font></td>
    <td align=center width="71%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rsdescrizione%></font></td>
    <td align=center width="9%" bgcolor="#FFFFFF">
    <font size="1" face="Verdana"><%=rspuni%></font></td>
    <td align=center width="3%" bgcolor="#FFEFD5"><font size="1"><input type="button" value="+" onclick="javascript:scelta('<%=rett%>');"></font></td>
    </tr>
    <%
    rs2.close
    rs.movenext
    loop
    %>

    Grazie!!!

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    La stringa che invii la crei componendo tre parti...

    rett = server.URLEncode(rscodart) & "#!#" & server.URLEncode rsdescrizione) & "#!#" & server.URLEncode(rspuni) & "#!#"

    ma poi cerchi di visualizzare la quarta...

    xx = sfoglia_cod.split("#!#");
    document.getElementById('cod_art'+i).value = unescape(xx[0]).replace(/\+/g, ' ');
    document.getElementById('descrizione'+i).value = unescape(xx[1]).replace(/\+/g, ' ');
    //document.getElementById('um'+i).value = unescape(xx[2]).replace(/\+/g, ' ');
    document.getElementById('puni'+i).value = unescape(xx[3]).replace(/\+/g, ' ');

    correggi l'indice

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    Grazie...
    E scusate...era una stupidata...mi sembrava di averla già fatta la prova dell'indice...

    Funziona perfettamente!!!
    Saluti

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.