Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    menu javascript lato server

    ho il seguente menu in javascript
    in una pagina. html
    <script language="JavaScript">
    function imgchange()
    {
    var si = document.frm.selbox.selectedIndex;
    var fname = document.frm.selbox.options[si].value
    document.img.src = "images/" + fname
    }
    </script>
    </head>
    <form name="frm">
    <select name="selbox" size=1 onChange="imgchange()">
    <option value=0.jpg>voce menu


    sto cercando di farlo funzionare lato server in una pagina.asp
    in modo che vada anche per chi ha disabilitato javascript
    ma non funziona...
    l'ho modificandolo cosi:



    <%@LANGUAGE = JScript%>
    <%
    function imgchange()
    {
    var si = document.frm.selbox.selectedIndex;
    var fname = document.frm.selbox.options[si].value
    document.img.src = "images/" + fname
    }
    %>
    <html>
    <head>
    </head>
    <body>
    <form name="frm">
    <select name="selbox" size=1 onChange="imgchange()">
    <option value=1.jpg>vocemenu1
    <option value=2.jpg>vocemenu2
    </select>
    </form>
    [img]images/0.jpg[/img]
    </body>
    </html>


    potete aiutarmi?
    grazie

  2. #2
    Uno script scritto per funzionare sul client (quindi lato client) non può funzionare sul server (quindi lato server), perchè l'oggetto window.document sul server non esiste.
    Devi riscriverlo.

  3. #3
    Non sono in grado di riscriverlo, se è possibile farlo..
    mi potresti dare qualche indicazione

    lo script sopra mi cambiava un immagine selezionata dal menu, menu che rimane sempre visibile

    cercando nel forum ho visto qualcosa di simile funzionante come pagina.asp
    che però carica l'immagine in una nuova pagina e purtroppo per riaccedere al menu devo sempre premere il tasto back del browser.

    grazie

  4. #4
    codice:
    <%
    pagina = request.serverVariables("PATH_INFO")
    img = request.form("img")
    if len(img) = 0 then img = "0.jpg"
    pathImg = "images/" & img
    %>
    <html>
      <head>
        <title></title>
        <script language="javascript" type="text/javascript">
        function imgchange() {
          var si = document.frm.selbox.selectedIndex;
          var fname = document.frm.selbox.options[si].value
          document.img.src = "images/" + fname
        }
        </script>
      </head>
      <body>
        <form name="frm" method="post" action="<%=pagina%>">
          <select name="selbox" size=1 onChange="imgchange()">
           <option value="">SELEZIONA</option>
            <option value="1.jpg"<% if img = "1.jpg" then %> selected="selected"<% end if %>>vocemenu1</option>
            <option value="2.jpg"<% if img = "2.jpg" then %> selected="selected"<% end if %>>vocemenu2</option>
          </select>
          <input type="submit" value="cambia" />
        </form>
        [img]<%=pathImg%>[/img]
      </body>
    </html>
    Se i javascript sono disabilitati allora va premuto il pulsante "cambia".

  5. #5
    Secondo te potrebbe essere una soluzione ottimale
    visto anche le ultime indicazioni sull'accessibilità wc3

    Pensavo di gestire così un centinaio di fotografie,
    magari prelevando nome descrizione e link da un database..
    ..sempre se è la soluzione migliore

    Per il momento inizio a studiare il codice che mi hai allegato
    per capirne il funzionamento (l'ho provato e funziona)

    ...eventualmente se tu volessi darmi indicazioni x svilupparlo..

    grazie!!

  6. #6
    Per l'accessibilità credo che sarebbe meglio usare solo codice lato client, ma su questo non posso assicurartelo.
    Prova a chiedere sul forum opportuno.
    Per prelevare i link delle foto da un db è semplice.
    Basta leggere la tabella e fare il ciclo della stessa scrivendo le option della select.
    Supponendo che nella tua tabella immagini ci siano i campi
    nomeFile
    titoloImmagine
    codice:
         <select name="selbox" size=1 onChange="imgchange()">
           <option value="">SELEZIONA</option>
    <%
        sql = "SELECT nomeFile, titoloImmagine FROM immagini ORDER BY titoloImmagine"
        set rs = conn.execute(sql)
          if not rs.eof then
            do until rs.eof
    %>
            <option value="<%=rs("nomeFile")%>"<% if img = rs("nomeFile") then %> selected="selected"<% end if %>><%=rs("titoloImmagine")%></option>
    <%
            rs.moveNext
            loop
          end if
        rs.close
        set rs = nothing
    %>
          </select>

  7. #7
    scusa ma per me e una nuova lingua..
    (sono tutte istruzioni in visualbasic?)

    per farlo funzionare ho inserito queste righe
    prese da altri esempi, non so se servono tutte

    dim strCode
    strCode="innovatel"
    dim intVolta
    intVolta="0"

    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("galleria.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn


    ci sarebbe, magari anche la possibilità di prelevare dal database, oltre che a nomeFile e titoloImmagine un campo Descrizione con del testo da mostrare sotto la foto?
    o diventa troppo complesso...

    Ti ringrazio dell'aiuto.
    In settimana cerchero di capire un po il codice
    magari con qualche guida di base di visualbasic (?)

  8. #8
    Il codice è VBScript. Se conosci VB allora ti sarà facile comprenderlo.
    Cerca come connettersi ad un database e leggere i dati da una tabella con un ciclo do oppure while.

  9. #9
    mi sembra di aver capito che il tuo codice:
    si collega al database
    e legge tutti i dati inserendoli nella variabile rs (rs è un array?)

    e possibile far leggere dal database anche un nuovo campo "descrizione" così:?
    sql = "SELECT nomeFile, titoloImmagine, descrizione FROM immagini ORDER BY titoloImmagine"

    e poi prelevarlo in modo dinamico ad esempio con rs.descrizione.[si].value


    function imgchange() {
    var si = document.frm.selbox.selectedIndex;
    var fname = document.frm.selbox.options[si].value
    document.img.src = "images/" + fname

    Scusa se ho scritto, delle fesserie?

  10. #10
    Originariamente inviato da lucignolo65
    mi sembra di aver capito che il tuo codice:
    si collega al database
    e legge tutti i dati inserendoli nella variabile rs (rs è un array?)

    e possibile far leggere dal database anche un nuovo campo "descrizione" così:?
    sql = "SELECT nomeFile, titoloImmagine, descrizione FROM immagini ORDER BY titoloImmagine"

    e poi prelevarlo in modo dinamico ad esempio con rs.descrizione.[si].value


    function imgchange() {
    var si = document.frm.selbox.selectedIndex;
    var fname = document.frm.selbox.options[si].value
    document.img.src = "images/" + fname

    Scusa se ho scritto, delle fesserie?
    Scusami, ma tu hai una grande confusione tra linguaggi lato server e linguaggi lato client.
    rs, nel mio esempio, è l'oggetto recordset server side e non è possibile usarlo sul client come fosse un oggetto del browser... rs.descrizione[si].value...
    A questo punto, credo, che a te serva usare qualcosa in AJAX, oppure, caricare a priori tutte le descrizioni in un array javascript e caricare la descrizione opportuna all'onchange della select...
    Documentati.

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.