Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559

    Recupero valori da select swap

    Salve a tutti, utilizzo questi script per passare valori all click (onChange) da una multi select ad un'altra.
    Ora il problema è recuperare (in ASP) gli id dei valori passati alla seconda select.
    Vi ometto la funzione javascript che credo non occorra, ma se servisse basta chiedere....

    codice:
    <FORM action="tornei_nuovo.asp" method="post" name="form">
    				<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
    					<tr>
    						<TD width="20%" valign="top">
    							<span class="tab">Elenco squadre:</span>
    
    							<%
    							strSQL="SELECT * FROM tSquadre ORDER BY squadra"
    							set objRS=server.CreateObject("ADODB.Recordset")
    							objRS.Open strSQL, objConn
    							if not objRS.EOF then%>
    								<select name="fieldFrom" class="formfield" size="20" style="width:220;" onChange="moveIt(this.form.fieldFrom, this.form.fieldTo)">
    								<%do while not objRS.EOF%>
    									<option value="<%=objRS("id")%>"><%=objRS("squadra")%></option>
    								<%objRS.MoveNext
    								Loop%>
    								</select>
    							<%end if
    							objRS.Close
    							set objRS=nothing%>
    						</TD>
    					    <td valign="top">
    							<span class="tab">Squadre selezionate</span>
     
    					        <select class="formfield" name="fieldTo" size="20" style="width:220;" onChange="moveIt(this.form.fieldTo, this.form.fieldFrom)">
    								<option value="cc"></option>	
    							</select> 
    					    </td> 
    					</tr>
    				</table>
    </form>
    Al submit del form ho provato a fare:

    codice:
    <%
    fieldTo=trim(request("fieldTo"))
    Response.Write "fieldTo: "&fieldTo:Response.end
    %>
    ma non appare nulla...

    Vi ringrazio molto.

    Roby

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Roby_72,

    se vuoi recuperare tutte le option di fieldTo in ASP le devi selezionare tutte... potresti fare una funzioncina tipo questa
    codice:
    function SelezionaTutto(ss){
      for(i=0;i<ss.options.length;i++)
        ss.options[i].selected=true
    }
    da richiamare all'onsubmit
    codice:
    <form onsubmit="SelezionaTutto(this.fieldTo)"

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ciao Willy.
    Intanto grazie!

    Allora due cose:
    1) Nel recupero dei dati vedo un solo valore che credo sia l'id dell'ultimo elemento inserito nella seconda select
    2) Al submit appare nella barra di stato un errore javascript (prevista parentesi chiusa)

    Ti posto le due funzioni javascript:

    codice:
    	<script language=javascript> 
    	 
    		// Automatically sort items within lists? (1 or 0) 
    	 
    	sortitems = 1; 
    	 
    	function moveIt( fbox, tbox ) { 
    		for( var i=0; i<fbox.options.length; i++ ) { 
    			if( fbox.options[i].selected && fbox.options[i].value != "" ) { 
    				var no = new Option(); 
    				no.value = fbox.options[i].value; 
    				no.text = fbox.options[i].text; 
    				tbox.options[tbox.options.length] = no; 
    				fbox.options[i].value = ""; 
    				fbox.options[i].text = ""; 
    			} 
    		} 
    		bumpUp( fbox ); 
    		if ( sortitems ) { 
    			sortIt( tbox ); 
    		} 
    	} 
    	 
    	function bumpUp( box )  { 
    		for( var i=0; i<box.options.length; i++ ) { 
    			if( box.options[i].value == "" )  { 
    				for( var j=i; j<box.options.length-1; j++ )  { 
    					box.options[j].value = box.options[j+1].value; 
    					box.options[j].text  = box.options[j+1].text; 
    				} 
    				var ln = i; 
    				break; 
    			} 
    		} 
    		if( ln < box.options.length )  { 
    			box.options.length -= 1; 
    			bumpUp( box ); 
    		} 
    	} 
    	 
    	function sortIt( box )  { 
    		var temp_opts = new Array(); 
    		var temp = new Object(); 
    		for( var i=0; i<box.options.length; i++ )  { 
    			temp_opts[i] = box.options[i]; 
    		} 
    		for( var x=0; x<temp_opts.length-1; x++ )  { 
    			for( var y=(x+1); y<temp_opts.length; y++ )  { 
    				if( temp_opts[x].text > temp_opts[y].text )  { 
    					temp = temp_opts[x].text; 
    					temp_opts[x].text = temp_opts[y].text; 
    					temp_opts[y].text = temp; 
    				} 
    			} 
    		} 
    		for( var i=0; i<box.options.length; i++ )  { 
    			box.options[i].value = temp_opts[i].value; 
    			box.options[i].text = temp_opts[i].text; 
    		} 
    	} 
    	</script>
    	<script language=javascript> 
    		function SelezionaTutto(ss){
    		  for(i=0;i&lt;ss.options.length;i++)
    		    ss.options[i].selected=true
    		}
    	</script>
    Ti ringrazio molto.

    Roby

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    riekkime Roby_72,

    hai fatto un Server.HTMLEncode della funzione che t'ho postato? :gren:
    codice:
    function SelezionaTutto(ss){
      for(i=0;i&lt;ss.options.length;i++)
        ss.options[i].selected=true
    }
    il minore (<) è scritto &lt;

    e ricordati di rendere multiple la select fieldTo


  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sei un geniaccio senza confini!!
    Funziona che è una bellezza.

    Grazie vita natural durante.

    Roby

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    e tu sei un esagerato! :gren: Grazie per la riconoscenza

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.