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

    Help...ho bisogno di un grosso aiuto

    Ciao a tutti, mi sto avvicinando al mondo del javascript da 1 settimana, provengo dal php (del quale ho una buona esperienza); mi trovo in quetso problema che non riesco a risolvere. Vi posto la parte del codice interessato e vi faccio la domanda.
    In una pagina ho 1 form con diverse select multiple i valori delle quali vengono presi da un db tramite php (e qui non ho nessun problema), ciò che voglio fare è permettere ad un utente di selezionare tutti i valori clikkando su un pulsante "selct all" e qui entra in gioco il javascript ed è qui che mi sono bloccato. Ecco una parte del codice (qui faccio riferimento solo alla prima select;mi basta vedere come si fa con la prima e poi per le successive faccio allo stesso modo):

    <form name="scelta" action="........php" method="POST">
    <select name="nomDL1[]" multiple size="8">
    <?php
    $query = "select "; (evito di postare tutto il codice php in quanto questo funziona)
    $result = mysqli_query($link,$query)or
    die (mysqli_error($link));
    while ($row = mysqli_fetch_row($result))
    {
    echo '<option name ="list" value="' .$row[1]. '">' .stripslashes($row[0]). "</option>";
    }
    ?>
    </select>
    <input type="button" value="Select all" onClick="SelezionaTutto();" >

    #############
    Adesso all'interno dei tag <head></head> ho messo la funzione SelezionaTutto() e cioè:

    <SCRIPT language="JavaScript">
    <!--
    function SelezionaTutto()
    {
    for (i=0;i<document.scelta.elements[0].length;i+=1)
    {
    document.scelta.elements[0].options[i].selectedindex==true;
    }
    }
    -->
    </script>

    Ma non funziona? mi potete far vedere come dovrei scrivere il codice javascript per far selezionare tutti i valori dall'elenco?
    Aiutatemi che mi sto scervellando.
    Grazie infinite!
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  2. #2
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Prova con
    codice:
     document.scelta.elements[0].options[i].selected=true;

  3. #3
    Originariamente inviato da dannie
    Prova con
    codice:
     document.scelta.elements[0].options[i].selected=true;

    Ciao ho appena provato ma nulla...non mi dà nessun errore ma non mi seleziona nenache niente.
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  4. #4
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    codice:
    <html>
      <head>
    	<script language="JavaScript">
    	<!--
    	function SelezionaTutto()
    	{
    	 for (i=0;i<document.scelta.elements[0].length;i+=1)
    	  {
    	   document.scelta.elements[0].options[i].selected=true;
    	  }
    	}
    	-->
    	</script>
      </head>
      
      <body>
       <form name="scelta" action="" method="POST">
    		<select name="nomDL1[]" multiple size="8">
    			<option value='1'>Scelta 1</option>
    			<option value='2'>Scelta 2</option>
    			<option value='3'>Scelta 3</option>
    		</select>
    
    		<input type="button" value="Select all" onClick="SelezionaTutto();" >
    	</form>
      </body>
    </html>
    A me funziona....

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209
    ma scelta è il nome del checkbox??
    Allora nel "document.scelta.elements[0].options[i].selected=true;" devi inserire anche il nome del form.

    Es: document.nome form.scelta.elements[0].options[i].selected=true;

  6. #6
    Originariamente inviato da webhome
    ma scelta è il nome del checkbox??
    Allora nel "document.scelta.elements[0].options[i].selected=true;" devi inserire anche il nome del form.

    Es: document.nome form.scelta.elements[0].options[i].selected=true;
    Ciao, scelta è il nome del form. L'esempio di dannie così come l'ha fatto lui funziona, ma adattato al mio esempio non funge. Nel mio esempio però i valori di option nella select multipla provengono da una query che effettuo in php da un db infatti l'unica differenza dall'esempio di dannie è questa:
    echo '<option value="' .$row[1]. '">' .stripslashes($row[0]). "</option>"; (per il codice completo guardate il mio primo messag)....
    MAnnaggia, non mi funziona con il mio esempio!
    Aiutoooooo.
    Grazie comunque dell'interessamento!
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  7. #7
    Ho capito perchè forse non mi seleziona tutto guardate; allora la mia select è così (ometto tutto il resto, basta andare al mio primo messag per avere un quadro completo):
    echo '<option value="' .$row[1]. '">' .stripslashes($row[0]). "</option>";
    allora, il valore che viene attribuito a value è il codice del nome che compare nella lista ($row[0]) cioè la mia tabella dalla quale estraggo i valori è all'incirca formata dai seguenti campi:
    tabella(nome, codice) quindi $row[1] è il codice e $row[0] è il nome.
    Come posso risolvere senza levare $row[1]? io devo per forza mettere il codice qui!
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  8. #8
    Ho provato per curiosità a sostituire $row[1] con $row[0] ma non funziona lo stesso...
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  9. #9
    Utente di HTML.it L'avatar di dannie
    Registrato dal
    Aug 2005
    Messaggi
    336
    Ri-ciao! Scusa, io non conosco php e non riesco a seguirti nei tuoi ragionamenti ma...sicuro che non sia un problema di apici? A parte questa "ipotesi molto ipotetica" il mio suggerimento è di postare il codice html che viene generato (ricopialo dal visualizza sorgente del browser), così capiamo se è davvero un problema html+js o php... potrebbe essere utile inoltre provarlo con firefox tenendo sott'occhio la javascript console, per vedere se non c'è davvero nessun errore....
    Dai, attendiamo tue notizie!

  10. #10
    Originariamente inviato da dannie
    Ri-ciao! Scusa, io non conosco php e non riesco a seguirti nei tuoi ragionamenti ma...sicuro che non sia un problema di apici? A parte questa "ipotesi molto ipotetica" il mio suggerimento è di postare il codice html che viene generato (ricopialo dal visualizza sorgente del browser), così capiamo se è davvero un problema html+js o php... potrebbe essere utile inoltre provarlo con firefox tenendo sott'occhio la javascript console, per vedere se non c'è davvero nessun errore....
    Dai, attendiamo tue notizie!
    Ciao dannie, io utilizzo firefox e non mi da nessun errore comunque ti posto il codice un pò accorciato altrimenti sarebbe troppo lungo.

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="stileprofitto.css" media="all"/>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <SCRIPT language="JavaScript">
    <!--
    function SelezionaTutto()
    {
    for (i=0;i<document.scelta.elements[0].length;i+=1)
    {
    document.scelta.elements[0].options[i].selected=true;
    }
    }
    -->
    </script>
    </head>
    <body>
    <table border="1" align="center">
    <tr>
    <td colspan="3">
    <form name="scelta" action="s-prof.php" method="POST">
    <table>
    <tr>
    <td>
    <fieldset>
    <legend> Selezionare uno o più NOMI FEMMINILI</legend>
    <select name="nomDL1[]" multiple size="8">
    <option value="04260">andrea</option>
    <option value="00769">giacoma</option>
    <option value="05388">dantina</option>
    <option value="04261">bruna</option>
    </select>
    <input type="button" value="Select all" onClick="SelezionaTutto();">

    <select name="esamiDL1[]" multiple size="10">
    <option value="ALGEBRA">ALGEBRA</option>
    <option value="MATEMATICA">MATEMATICA</option>
    <option value="OTTIMIZZAZIONE">OTTIMIZZAZIONE</option>
    </select>
    </fieldset>
    <fieldset>
    <legend> Selezionare uno o più NOMI MASCHILI</legend>
    <select name="nomDL2[]" multiple size="8">
    <option value="05560">marco</option>
    <option value="07769">luca</option>
    <option value="08988">luigi</option>
    <option value="04000">giovanni</option>
    <select name="esamiDL2[]" multiple size="10">
    <option value="ITALIANO">ITALIANO</option>
    <option value="GEOMETRIA">GEOMETRIA</option>
    <option value="INFORMATICA">INFORMATICA</option>
    </select>
    </fieldset>
    </td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    </body>
    </html>
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

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.