Visualizzazione dei risultati da 1 a 7 su 7

Discussione: richiamare funzione

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    richiamare funzione

    ciao a tutti,

    non capisco perchè non mi funziona....

    codice:
    function controlla_cb(ff, nom){
      var n = 0;
      var cc = ff.elements[nom];
      ff.elements['action'].value = 'invia';
      ff.elements['campi_del'].value = '';
    	
      
      for (var i=0; i<cc.length; i++) {
        if(cc[i].checked) n++;
      }
      
      if(n==0) {
    	  if(confirm("VERRA' CANCELLATO L'ARTICOLO DAL CARRELLO")) {
    		ff.elements['action'].value = 'elimina_preventivo';
    	  }else{
    		  ff.elements['action'].value = 'invia';
    		  return false;  
    	  }
      }else{
    
      if(n==1) {
      	if(confirm("VERRA' CANCELLATO L'ARTICOLO DAL CARRELLO")) {
    			  for (var i=0; i<cc.length; i++) {
        				if(cc[i].checked){
    					ff.elements['action'].value = "elimina";
    					ff.elements['campi_del'].value += cc[i].value;
    					}
     				 }
    		  } else {
    			  ff.elements['action'].value = 'invia';
    			  return false;
    	  }
    	  
      }else if(n>1) {
      	if(confirm("VERRANNO CANCELLATI N° "+n+" ARTICOLI DAL CARRELLO")) {
    			  for (var i=0; i<cc.length; i++) {
        				if(cc[i].checked){
    					ff.elements['action'].value = "elimina";
    					ff.elements['campi_del'].value += cc[i].value+" ";
    					}
     				 }
    		  } else {
    			  ff.elements['action'].value = 'invia';
    			  return false;
    	  }
    	  
      }
       
      }
    }
    se la richiamo cosi trammite onSubmit funziona
    codice:
    onSubmit="return controlla_cb(this, \'rimuovi\');"
    ma se provo a richiamrla cosi
    non và....
    :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    il this dpve richiami la funzione è il riferimento all'oggetto chiamante: nel secondo caso this = tag <a></a>, che chiaramente non disporrà degli oggetti e proprietà contenuti invece nel tag form della prima chiamata.
    Ergo, se vuoi utilizzare la stessa funzione nel tag <a></a> al posto di "this" dovrai passargli il riferimento al form target. Facilmente se dai un id al form, lo passi con document.getElementById('idform') da sostituire al this.
    Ciao.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho rifatto tutto per cercare di semplificare ma continua a non funzionare
    io vorrei controllare tutti i campi input che hanno lo stesso nome per verificare che non siamo vuoti e che venga digitato un numero ho fatto cosi:
    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script>
    function controlla_quantita(ff, nom){
      var n = 0;
      var cc = ff.elements[nom];
    	
      for (var i=0; i<cc.length; i++) {
    	  if(cc[i] == ''){
    		  alert("CAMPO "+cc[i]+" VUOTO");
    		  cc[i].focus();
    		  cc[i].select();
    		  }else if(!(cc[i].match(/^(\+)?(\d)+$/))){
    			  alert("INSERIRE UN NUMERO");
    			  cc[i].focus();
    			  cc[i].select();
    			  }else{
    				  n++
    			  }
      }
        if(n>0) {
    	  window.alert("posso modificare")
    	  return false;
    		
    	}
    }
    </script>
    </head>
    
    <body>
    <form name="form1" method="post" action="">
    <input name="quantita" type="text" class="carrello_input" id="quantita33" value="5">
    <input name="quantita" type="text" class="carrello_input" id="quantita34" value="5">
    [img]../images/pulsanti/aggiorna_it.jpg[/img]
    </form>
    </body>
    </html>
    :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script>
    function controlla_quantita(ff, nom){
      var n = 0;
      var cc = ff.elements[nom];
    	
      for (var i=0; i<cc.length; i++) {
    	  if(cc[i] == ''){
    		  alert("CAMPO "+cc[i]+" VUOTO");
    		  cc[i].focus();
    		  cc[i].select();
    		  }else if(!(cc[i].match(/^(\+)?(\d)+$/))){
    			  alert("INSERIRE UN NUMERO");
    			  cc[i].focus();
    			  cc[i].select();
    			  }else{
    				  n++
    			  }
      }
        if(n>0) {
    	  window.alert("posso modificare")
    	  return false;
    		
    	}
    }
    </script>
    </head>
    
    <body>
    <form name="form1" id="form1" method="post" action="">
    <input name="quantita" type="text" class="carrello_input" id="quantita33" value="5">
    <input name="quantita" type="text" class="carrello_input" id="quantita34" value="5">
    [img]../images/pulsanti/aggiorna_it.jpg[/img]
    </form>
    </body>
    </html>
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    continua a non funzionare.... ma tu l'hai provato?


  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    aggiungi .value dove fai il match...

    }else if(!(cc[i].match(/^(\+)?(\d)+$/))){

    diventa

    }else if(!(cc[i].value.match(/^(\+)?(\d)+$/))){
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    che stupida, grazie mille!!


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.