Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Onchange e Refresh

  1. #1
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335

    Onchange e Refresh

    Ciao, ho una select che dipende da un'altra select, ovvero quando seleziono una voce dalla prima, mi dovrebbe ricaricare la pagina in modo tale da poter sciegliere dall'altra select le sottocategorie che le appartengono. Unico problema: cosi facendo non mi fa il refresh della pagina. qualcuno può aiutarmi?
    Posto qui sotto il codice:

    ---------------------------------------------------------------------
    <%
    id = Request.QueryString("id")
    submitted = Request.QueryString("submitted")

    if submitted then
    id_linea = Replace(Request.Form("id_linea"),"'","&acute;")
    nome_prodotto = Replace(Request.Form("nome_prodotto"),"'","&acute; ")
    foto = Request.Form("foto")
    img = Replace(Request.Form("img"),"'","&acute;")
    descrizione = Replace(Request.Form("descrizione"),"'","&acute;")
    codice_articolo = Replace(Request.Form("codice_articolo"),"'","&acut e;")
    online = Request.Form("online")



    strsql = "INSERT INTO prodotti (id_linea, nome_prodotto, foto, img, descrizione, codice_articolo, online)"
    strsql = strsql & " Values('" & id_linea & "','" & nome_prodotto & "'," & foto & ",'" & img & "','" & descrizione & "','" & codice_articolo & "'," & online & ")"
    %>


    <%
    objConn.Execute(strsql)
    %>



    <table width="100%" align="center" bgcolor="#ffffff" cellpadding="3" border="0" cellspacing="1">
    <tr>
    <td class="undicibianco" align="center" bgcolor="#00529c">Il prodotto è stato aggiunto nel database</td>
    </tr>
    <tr>
    <td class="undici" align="center" bgcolor=#f1f1f1>Torna all'area amministrazione</td>
    </tr>
    </table>


    <%
    else
    id_linea = request("id_linea")
    if id_linea = "" then id_linea = "0" end if
    %>


    <table width="100%" align="center" border="0" cellpadding="0" cellspacing="1">
    <FORM name="mine" ACTION="edit_prodotti_aggiungi.asp" METHOD="post">
    <tr>
    <td align="center" bgcolor="#ffffff" valign="top">
    <table border="0" width="100%" bgcolor="#ffffff" cellpadding="3" cellspacing="1">
    <tr>
    <td class="undicibianco" align="center" bgcolor="#00529c">INSERISCI I DATI</td>
    </tr>
    </TABLE>
    <table border="0" width="100%" bgcolor="#ffffff" cellpadding="3" cellspacing="1">
    <tr bgcolor=#f1f1f1>
    <td class="undici" valign="top" width="150">Linea</td>
    <td valign="top">
    <select name="id_linea" class="form_150" onchange="document.mine.action='edit_prodotti_aggi ungi.asp'; document.mine.submit()">

    <%
    str = "SELECT * FROM linee"
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute(str)

    Do while NOT objRs.EOF
    %>
    <option value="<%= objRs("ID") %>"><%=objRs("nome")%></option>
    <%
    objRs.Movenext
    Loop
    objRs.Close
    Set objRs = Nothing
    %>

    </select>
    </td>
    </tr>
    <tr bgcolor=#f1f1f1>
    <td class="undici" valign="top" width="150">SLinea</td>
    <td valign="top">
    <select name="id_slinea" class="form_150">

    <%
    str = "SELECT * FROM slinee WHERE id_cat=" & id_linea
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute(str)

    Do while NOT objRs.EOF
    %>
    <option value="<%= objRs("ID") %>"><%=objRs("nome_slinea")%></option>
    <%
    objRs.Movenext
    Loop
    objRs.Close
    Set objRs = Nothing
    %>

    </select>
    </td>
    </tr>
    <tr>
    <td class="undici" valign="top">Nome</td>
    <td valign="top"><INPUT class="form_450" NAME="nome_prodotto" TYPE="TEXT"></td>
    </tr>
    <tr bgcolor=#f1f1f>
    <td class="undici" valign="top">Fotografia</td>
    <td valign="top" class="undici">
    <INPUT type="radio" NAME="foto" value="yes">Si

    <INPUT type="radio" NAME="foto" value="no">No

    </td>
    </tr>
    <tr>
    <td class="undici" valign="top">Immagine</td>
    <td valign="top"><select class="form_250" NAME="img" onchange="linkdoc(this.value)">
    <%
    Set file1 = CreateObject("Scripting.FileSystemObject")
    Set file2 = file1.GetFolder(server.mappath("prodotti"))
    Set file3 = file2.Files

    For each file in file3

    ok = 0
    estensione = Right(file.name,3)

    Select Case estensione
    Case "jpg", "gif", "bmp"
    ok = 1
    Case ""
    ok = 0
    End Select

    If ok = 1 then
    Response.Write "<option"
    If (StrComp(file.name, img_form, vbBinaryCompare) = 0) then
    response.write " selected"
    End If
    Response.Write " value='" & file.name & "'>"
    response.write file.name
    response.write "</option>"
    End If
    Next
    %>

    </td>
    </tr>
    <tr bgcolor=#f1f1f>
    <td class="undici" valign="top">Descrizione</td>
    <td valign="top"><TEXTAREA class="form_descrizione" NAME="descrizione"></TEXTAREA></td>
    </tr>
    <tr>
    <td class="undici" valign="top">Codice articolo</td>
    <td valign="top"><INPUT class="form_250" NAME="codice_articolo"></td>
    </tr>
    <tr bgcolor=#f1f1f>
    <td class="undici" valign="top">On-line</td>
    <td valign="top" class="undici">
    <INPUT type="radio" NAME="online" value="yes">Si

    <INPUT type="radio" NAME="online" value="no">No

    </td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <table width="100%" border="0" cellpadding="5" cellspacing="0">
    <tr>
    <td align="right"><INPUT class="pulsante" TYPE="submit" NAME="submit" VALUE="modifica"></td>
    <td align="left"><INPUT class="pulsante" TYPE="reset" NAME="reset" VALUE="cancella"></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </FORM>
    </table>

    <%
    end if
    %>
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Prima di tutto potevi anche evidenziare la parte interessata
    Comunque alla prima select associ l'evento onChange che riachiami una funzioncina la quale procede al submit del form e punta alla stessa pagina.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335
    lo faccio già ora, solo che non so per quale arcano motivo non decida di fare il refresh della pagina. porca paletta!
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Ti da errore?
    Perchè non posti solo le parti relative al problema?
    Tipo il pezzo di codice relativo al Form e l'eventuale funzione per il submit dello stesso?

    .. comunque siamo in OT su questo forum, tanto per intenderci
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335
    dunque, io mi sono creato questa funzione:

    <script language="JavaScript" type="text/javascript">
    function cambia_linea() {
    document.mine.action='edit_prodotti_aggiungi.asp';
    document.mine.submit();
    }
    </script>


    solo che non mi fa il refresh della pagina. Penso che il problema sia sul submit, ma non riesco a capire quale! sro sclerando
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

  6. #6
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335
    la form la richiamo in questo modo:
    <FORM name="mine" ACTION="edit_prodotti_aggiungi.asp" METHOD="post">

    mentre la select cosi:
    <select name="id_linea" class="form_150" onchange="cambia_linea();">
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

  7. #7
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Non ti basta fare così?

    onchange="cambia_linea()"
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  8. #8
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335
    non va, avevo già provato. All'apparenza sembra tutto giusto, ma l'errore che mi da è: "Proprietà o metodo non supportati dall'oggetto"
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

  9. #9
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    ma perchè specifichi l'action se già lo hai specificato nel tag relativo al form? Quello del form puoi anche lasciarlo vuoto, e puoi cancellare anche l'istruzione nella funzione visto che deve puntare sulla stessa pagina...

    Tra l'altro, puoi mettere su onChange solo "document.nomeForm.Submit();" e nel tag form togliere l'indirizzo nell'action... senza funzioni di sorta.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  10. #10
    Utente di HTML.it L'avatar di i@nn@
    Registrato dal
    May 2002
    Messaggi
    335
    ho risolto. mi sono riscritto il java in questo modo:

    <script language="JavaScript" type="text/javascript">
    var linea = <%= id_linea %>;
    // alert(linea);

    function cambia_linea() {
    var groups = document.mine.id_linea.options.length;

    for (i=0; i<groups; i++) {
    if ((document.mine.id_linea.options[i].selected) && (document.mine.id_linea.options[i].value != linea)) {
    document.location.href='edit_prodotti_aggiungi.asp ?id_linea='+document.mine.id_linea.options[i].value;
    }
    }
    }
    </script>


    ora funziona
    "...la bellezza è effimera. La bruttezza ti segue fino alla tomba..."

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.