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

    Controllo su select option non funziona

    Buon giorno, non capisco come mai, mi restituisce errore su questo controllo:
    codice:
    <script>
    function subControlla() {
    if (document.frmPosNews.ciccio.value=""){
    	window.alert("non hai selezionato nulla");
    } 
    }
    </script>
    
    
    <form name="frmPosNews" method="post" enctype="multipart/form-data">
    <?php
    
    echo "<select id='ciccio' name='ciccio[".$arrNews[$nI]['nIdNews']."]' style='width:115px'>
    					<option value=\"0\">0</option>
    					<option value=\"1\">1</option>
    					<option value=\"2\">2</option>
    					<option value=\"3\">3</option>
    					<option value=\"4\">4</option>
    					<option value=\"5\">5</option>
    					<option value=\"6\">6</option>
    					<option value=\"7\">7</option>
    					<option value=\"8\">8</option>
    					<option value=\"9\">9</option>
    					<option value=\"10\">10</option>
    				 </select>";
    ?>
     <input type="button" name="NewPosNews" onclick="subControlla()" value="invia"/>
    </form>
    Sapete dirmi il perchè?
    Grazie mille....

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Perché ti riferisci al nome ciccio, ma in realtà la select si chiama ciccio[qualcosa], usa l'id document.getElementById('ciccio')....
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    grazie Andrea, ma non mi funziona, sicuramente sbaglio ancora qualcosa:
    codice:
    <script>
    function subControlla() {
    if (document.getElementById('ciccio')==0) {
    	window.alert("non hai selezionato nulla");
    }
    }
    </script>
    
    
    <?php
    
    echo "<select id='ciccio' name='ciccio[".$arrNews[$nI]['nIdNews']."]' style='width:115px'>";
    ?>
    c'è ancora qualche errore?
    grazie

  4. #4
    scusami andrea non avevo inserito il .value dopo il tuo accorgimento:
    codice:
    if (document.getElementById('ciccio').value==0) {
    ...
    Però.piccola modifica.
    Ho 10 option, questo controllo funziona solo sulla prima, e per le altre 9?

    grazie ancora....

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Della serie andiamo per tentativi
    if (document.getElementById('ciccio').options.selecte dIndex==0)
    queste sono nozioni basilari, consiglio lettura guide o libro
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    certo che si....
    però continua a funzionare soltanto per la prima option..
    non so se può essere utile a capire com'è la struttura, ma per essere precisi:
    codice:
    <script>
    function subControlla() {
    if (document.getElementById('ciccio').options.selectedIndex==""){
    	window.alert("non hai selezionato nulla");
    } 
    }
    
    </script>
    
    <form name="frmPosNews" method="post" enctype="multipart/form-data">
    <?php
    for ($nI=0; $nI<count($arrNews); $nI++) {
    echo "<select id='ciccio' name='ciccio[".$arrNews[$nI]['nIdNews']."]' style='width:115px'>
    					<option value=''>Cambia posizione</option>
    					<option value='0'>0</option>
    					<option value='1'>1</option>
    					<option value='2'>2</option>
    					<option value='3'>3</option>
    					<option value='4'>4</option>
    					<option value='5'>5</option>
    					<option value='6'>6</option>
    					<option value='7'>7</option>
    					<option value='8'>8</option>
    					<option value='9'>9</option>
    					<option value='10'>10</option>
    				 </select>";
    
    }
    ?>
    <input type="button" onclick="subControlla()" value="invia"/>
    </form>
    Ho 10 news e per ognuna di esse ho una select che mi dà l'opportunità di poterne cambiare la posizione, da 0 a 10..
    Nella select ho aggiunto un valore '', in quanto lo 0 mi permette di togliere la news in visualizzazione.

    grazie ancora.....

  7. #7
    allora ho fatto in questo modo:
    codice:
    <script>
    function subControlla() {
    	for (nI=0; nI<9; nI++) {
    		if (document.getElementById('ciccio'+nI).value==""){
    			window.alert("non hai selezionato nulla" + nI);
    			return false;
    		}
    	}
    	if(confirm("Posizioni delle news modificate, procedere?"));
    		document.frmPosNews.action="?p=in_new_pos_news";
    		document.frmPosNews.submit();
    }
    </script>
    
    <?php
    <form name="frmPosNews" method="post" enctype="multipart/form-data">
    <?php
    for ($nI=0; $nI<count($arrNews); $nI++) {
    echo "<select id='ciccio".$nI."' name='ciccio[".$arrNews[$nI]['nIdNews']."]' style='width:115px'>
    
    ?>
    Cosi funziona, (ovvio che se gli dai una controllata te ne sono grato)

    Ora, il problema sta nel fatto che, generalmente ho 10 news, ma potrebbe capitare di oscurarne qualcuna, quindi da 10 potrei scendere a 9-6 chi lo sà?
    Quindi, in questo ciclo :
    codice:
    for (nI=0; nI<9; nI++) {
    	if (document.getElementById('ciccio'+nI).value==""){
    		window.alert("non hai selezionato nulla" + nI);
    		return false;
    	}
    }
    come faccio a determinare dinamicamente il numero delle news?
    grazie ancora....

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    function subControlla() {
    var sel = document.getElementsByTagName("select");
    	for (nI=0; nI<sel.length; nI++) {
    		if (sel[nI].options[sel[nI].selectedIndex].value==""){
    			window.alert("non hai selezionato nulla nella select " + sel[nI].name);
    			return false;
    		}
    	}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    si infatti, mi hai preceduto di qualche minuto...ho fatto cosi:
    codice:
    <script>
    function subControlla() {
    var elem = document.getElementsByTagName("select");
    var N_elem = elem.length;
    //alert(N_elem);
    	for (nI=0; nI<N_elem-1; nI++) {
    		if (document.getElementById('ciccio'+nI).value==""){
    			window.alert("non hai selezionato nulla" + nI);
    			return false;
    		}
    	}
    	if(confirm("Posizioni delle news modificate, procedere?"));
    		document.frmPosNews.action="?p=in_new_pos_news";
    		document.frmPosNews.submit();
    }
    </script>
    NB: ho dovuto inserire il valore "-1" in quanto mi restituisce come totale 11 select, in quanto all'interno del form c'è un'altra select che ha un'altra funzione....

    allora implemento la tua "dritta"
    ti ringrazio sei stato molto gentile..
    buona giornata e buon lavoro.alla prox

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.