Visualizzazione dei risultati da 1 a 7 su 7

Discussione: select che si mantiene

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    select che si mantiene

    Come faccio ad eseguire il submit al cambio dell item di una select mantenendo il valore selezionato?
    grazie

  2. #2
    speak in italian please

    www.gext.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusate.
    Vorrei popolare una select con 3 valori ad es a,b e c.
    <select name="prova" onchange="submit()">
    <option value=1>a</option>
    <option value=2>b</option>
    <option value=3>c</option>
    </select>


    e vorrei che quando seleziono ad esempio b mi faccia il submit e mi mantenga il valore b .

    Grazie .

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Mancano diverse informazioni...
    1 - quando dici "faccia il submit" intendi che il form deve essere inviato o che si richiami la funzione "submit" (lo escluderei, dato che, tra l'altro, non puo' avere quel nome) ?
    2 - l'action del form e' la stessa pagina o un'altra?
    3 - il target del form e' la stessa finestra o un'altra?
    4 - quando dici "popolare" intendi che inizialmente la select e' vuota e deve essere riempita da uno script?
    5 - "mantenga" viene spiegato per induzione rispondendo ai precedenti quesiti.

    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    Mancano diverse informazioni...
    1 - quando dici "faccia il submit" intendi che il form deve essere inviato o che si richiami la funzione "submit" (lo escluderei, dato che, tra l'altro, non puo' avere quel nome) ?

    1)il form deve proprio richiamare se stesso


    2 - l'action del form e' la stessa pagina o un'altra?
    2)la stessa

    3 - il target del form e' la stessa finestra o un'altra?
    3)la stessa finestra


    4 - quando dici "popolare" intendi che inizialmente la select e' vuota e deve essere riempita da uno script?

    4)no, la riempio lato server

    5 - "mantenga" viene spiegato per induzione rispondendo ai precedenti quesiti.

    ciao



    grazie per la disponibilita

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    una soluzione
    codice:
    <%@  language="VBScript" %>
    <%
    	option explicit
    	
    	Response.Buffer = true
    
        dim p_select1, p_select2
    
        onLoad
    
    
    
        sub onLoad()
    	    p_select1 = trim(Request.Form("p_select1"))
    	    p_select2 = Split(trim(Request.Form("p_select2")), ",")
        
        
        
        end sub
    
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Pagina senza titolo</title>
    </head>
    <body>
        <form id="form1" method="post" action="?">
            <label for="select1">
                Listbox selezione semplice</label>
            <select size="4" id="select1" name="p_select1">
                <option value='1' <%=selected(p_select1, "1")%>>Stefano</option>
                <option value="2" <%=selected(p_select1, "2")%>>Carlo</option>
                <option value="3" <%=selected(p_select1, "3")%>>Nicola</option>
            </select>
            <hr/>
            <label for="select2">
                Listbox selezione multipla</label>
            <select size="4" id="select2" name="p_select2" multiple="multiple">
                <option value="1" <%=trovato(p_select2, "1")%>>Stefano</option>
                <option value="2" <%=trovato(p_select2, "2")%>>Carlo</option>
                <option value="3" <%=trovato(p_select2, "3")%>>Nicola</option>
            </select>
            
    
            <input id="Submit1" type="submit" value="submit" />
            
    
    p_select1 = <%=trim(Request.Form("p_select1")) %></p>
            
    
    p_select2 = <%=trim(Request.Form("p_select2")) %></p>
        </form>
    </body>
    </html>
    
    <script runat="server" language="vbscript">
    	'--------------------------------------------------------------
    	'ristabilisce la selezione in una opzione di una select
    	'--------------------------------------------------------------
    	function selected(firstVal, secondVal)
    		if cstr(firstVal) = cstr(secondVal) then
    			Selected = " SELECTED "
    		else
    			Selected = ""
    		end if
    	end function
    
    	'--------------------------------------------------------------
    	'ristabilisce la selezione in un checkbox
    	'--------------------------------------------------------------
    	function checked(firstVal, secondVal)
    		if cstr(firstVal) = cstr(secondVal) then
    			checked = " CHECKED "
    		else
    			checked = ""
    		end if
    	end function
    
    	'--------------------------------------------------------------
    	'ristabilisce la selezione in un checkbox
    	'firstVal è una stringa che contiene una o più chiavi da
    	'confrontare con secondVal
    	'--------------------------------------------------------------
    	function checked_array(firstVal, byval secondVal)
    		dim a, tmp
    		if firstVal = "" then 
    			checked_array = ""
    			exit function
    		end if
    		a = split(firstVal, ",")
    		for each tmp in a
    			tmp = ucase(trim(tmp))
    			secondVal = ucase(trim(secondVal))
    			if tmp = secondVal then
    				checked_array = " CHECKED "
    				exit function
    			end if
    		next
    		checked_array = ""
    	end function
    	
    	
    	
    	
    	
    	
    	
    	'--------------------------------------------------------------
    	'ristabisce la selezione di più righe in un selectbox
    	'--------------------------------------------------------------
    	function Trovato(MyArray, findVal)
    		Dim bTrovato
    		Dim MyIndex
    		dim i
    		for i = lbound(MyArray) to ubound(MyArray)
    			if ucase(trim(MyArray(i))) = ucase(trim(cstr(findVal))) then
    				Trovato = " SELECTED "
    				exit function
    			end if
    		next
    		Trovato = ""
    	end function
    
    </script>
    Pietro

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Potrei postare diverse soluzioni che utilizzano diversi linguaggi... ma sarebbero incomprensibili alla maggioranza dei frequentatori di questo forum.

    Se sei interessato a risolvere con il solo javascript puoi aprire un'altra discussione... questa ormai e' OT

    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

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.