Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [xhtml Tran]validazione select

    Ciao a tutti, ho un problemino con la validazione dell'ultima pagina di un progetto in corso...
    Ho una form contenente 2 select e 4 bottoni, per esigenza la seconda select è priva di campi <option> che vengono generati dinamicamente attraverso javascript.
    Il problema è che ovviamente la validazione non ha buon fine in quanto select deve contenere almeno un campo option o optgroup, nessuno ha qualche idea su come far validare la cosa?

    Nel caso il codice è questo
    codice:
    <form name=\"gestione\" action=\"updateuser.php\" method=\"post\">
    <table>
    <tr>
    <td><select id=\"user\" style=\"width: 200px;\" multiple=\"multiple\" size=\"15\">";
    while($rs = mysql_fetch_array($result)){
    	echo "<option onclick=\"Req.show('status.php?usr=".$rs["name"]."','status','','GET','')\">".$rs["name"]."</option>";
    }
    echo "</select></td><td>
    <input type=\"button\" class=\"usrbutton\" value=\"&lt;&lt;&lt;\" onclick=\"javascript:removeAll();\" />
    
    <input type=\"button\" class=\"usrbutton\" value=\"&lt;-\" onclick=\"javascript:removeElem();\" />
    
    <input type=\"button\" class=\"usrbutton\" value=\"-&gt;\" onclick=\"javascript:addElem();\" />
    
    <input type=\"button\" class=\"usrbutton\" value=\"&gt;&gt;&gt;\" onclick=\"javascript:addAll();\" /></td>
    <td><select id=\"attivi\" style=\"width: 200px;\" name=\"user[]\" multiple=\"multiple\" size=\"15\"></select>
    </td></tr>
    </table>
    </form>";
    Un esempio di funzione js che popola la select è questo
    codice:
    function addElem(){
    	element = document.getElementById('user');
    	elem_attivi = document.getElementById('attivi');
    	trovato = false;
    	
    	for(i = 0; i < element.length; i++){
    		if(element.options[i].selected == true){
    			for(k = 0; k < elem_attivi.length; k++){
    				if(element.options[i].text == elem_attivi.options[k].text){
    					trovato = true;
    				}
    			}
    			if(!trovato){
    				opt = new Option(element.options[i].text, element.options[i].text,false,false);
    				elem_attivi.options[elem_attivi.length] = opt;
    			}
    		}
    	}
    }

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    E' un sito istituzionale?
    Sì: Ahia!
    No: basta che il codice risultante sia valido.

    Se no metti anche la dichiarazione <select> dentro al javascript

  3. #3
    E' un progetto universitario, teoricamente tutte le pagine dovrebbero essere validate.
    Per ora come soluzione ho creato un option dentro la select e al load lo elimino con una funzione js. La validazione ha successo, quindi anche se non è elegantissimo mi sta bene

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.