Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    129

    Problema con funzioni javascript

    Salve,

    sono principiante dell'uso di javascript e vorrei proporvi un problema che non riesco a risolvere.

    Ho creato una funzione che aumenta e diminuisce (con un + e un -) il valore di un campo.

    Scrivo la funzione:

    nell'Head:
    codice:
    <script language="javascript">
             <!--
                function diminuirnoci()			              
                {	
    	cuenta=parseInt(document.formulario.noci.value);	  
                  if (cuenta>0) document.formulario.noci.value=parseInt(document.formulario.noci.value) - 1;			 
                }			
    			function aumentarnoci()			              
                {
    			document.formulario.noci.value=parseInt(document.formulario.noci.value) + 1;
                }
             //-->
    </script>
    Nel body:
    codice:
      <input type="button" onclick="diminuirnoci();" class="buttonmeno" />
        <input type="text" name="noci" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0">
       <input type="button" onclick="aumentarnoci();" class="buttonmas" />

    Questo script funziona perfettamente... il problema è che nel formulario ci saranno 16 elementi uguali!!!
    Se volessi mantenero questo metodo dovrei riscrivere 16 volte la stessa funzione, cosa assurda per un programmatore.
    Per risolvere ho pensato di passare un valore differente per ogni campo dal onclick.

    Ho provato questo codice:

    Nel Head:
    codice:
    <script language="javascript">
             <!--
                function diminuir(valore)			              
                {	
    	cuenta=parseInt(document.formulario.eval(valore).value);	  
                  if (cuenta>0) document.formulario.eval(valore).value=parseInt(document.formulario.eval(valore).value) - 1;			 
                }			
    			function aumentar(valore)			              
                {
    			document.formulario.eval(valore).value=parseInt(document.formulario.eval(valore).value) + 1;
                }
             //-->
    </script>
    Nel body:
    codice:
      <input type="button" onclick="diminuir(noci);" class="buttonmeno" />
        <input type="text" name="noci" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0">
       <input type="button" onclick="aumentar(noci);" class="buttonmas" />
    
    
    <input type="button" onclick="diminuir(cioccolata);" class="buttonmeno" />
        <input type="text" name="cioccolata" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0">
       <input type="button" onclick="aumentar(cioccolata);" class="buttonmas" />
    Mi sembrava corretto, però non funziona... perche???

    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135

    Re: Problema con funzioni javascript

    Nel Head:
    codice:
    <script language="javascript">
             <!--
                function diminuir(valore)			              
                {	
    	cuenta=parseInt(document.getElementById(valore).value);	  
                  if (cuenta>0) document.getElementById(valore).value=parseInt(document.getElementById(valore).value) - 1;			 
                }			
    			function aumentar(valore)			              
                {
    			document.getElementById(valore).value=parseInt(document.getElementById(valore).value) + 1;
                }
             //-->
    </script>
    Nel body:
    codice:
      <input type="button" onclick="diminuir('noci');" class="buttonmeno" />
        <input type="text" id="noci" name="noci" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0">
       <input type="button" onclick="aumentar('noci');" class="buttonmas" />
    
    
    <input type="button" onclick="diminuir('cioccolata');" class="buttonmeno" />
        <input type="text" id="cioccolata" name="cioccolata" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0">
       <input type="button" onclick="aumentar('cioccolata');" class="buttonmas" />
    aggiungi l'id ad ogni elemento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    129
    Ciao cavicchiandrea,

    grazie per la risposta!!!

    Avevo anche provato come mi hai scritto tu (tra le tante prove fatte)... e basicamente ho dimenticato di mettere el id="" al elemento type="text".

    Pretendevo che getElementById funzionasse sopra il name="".
    Errore da principianti!!!

    GRAZIE!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.