Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Due funzioni diverse all'interno dello stesso evento submit?

    Ciao.

    E' possibile in javascript far convivere due funzioni diverse all'interno dello stesso evento submit?

    Ho due funzioni: una che controlla che tutti i campi del form siano compilati e l'altra che fa una semplice operazione di somma sempre nello stesso form e che controlla che la somma sia diversa da zero.

    Vorrei che le due funzioni in qualche modo vengano eseguite al momento dell'onsubmit.

    Ho scritto così ma funziona sempre e solo la prima...

    codice:
    onsubmit="return(somma(this) && controlla(this);"
    Vi ringrazio...

  2. #2
    manca una parentesi.

    Comunque non fai prima a fare:

    codice:
    function mySubmit(form){
      return somma(form) && controlla(form);
    }
    <form action="..." onsubmit="return mySubmit(this)">
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie artorius adesso va bene... ho però un problema: quando il form è vuoto cioè non ho inserito nulla nei vari campi il form viene convalidato dalla funzione controlla .... forse perchè prima viene richiamata la funzione somma ?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    esempio veloce funzionante per il controllo di due funzioni:
    codice:
    <HTML>
    <HEAD>
    	<TITLE>demo</TITLE>
    	<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    	<META http-equiv="Cache-Control" content="no-cache">
        <script>
    	window.onload = function(){
    	var prezzo = Math.floor(Math.random() * (99))
    	var spedizione = Math.floor(Math.random() * (99))
    	document.getElementById('importo').innerHTML=prezzo
    	document.getElementById('spese').innerHTML=spedizione
    }	
    	function f1(){
    	
    	if(document.getElementById('somma').value != parseInt(document.getElementById('importo').innerHTML)+parseInt(document.getElementById('spese').innerHTML)){
    	alert("inserisci una somma esatta")
    	return false;}else{return true;}
    	}
    	function f2(){
    	if(document.getElementById('nome').value==""){
    	alert('inserisci un nome');
    	return false;}
    	else{return true;}
    	}
    	</script>
    </HEAD>
    <BODY>
    <form   name="myform"  action="#" method="POST" onSubmit="return (f1() && f2()) ">
    <fieldset>
    <legend>Doppio controllo</legend>
    <div id="importo"></div><div id="spese"></div>
    <input name="somma" id="somma" size="26"  value="" />
    <input name="nome" type="text" id="nome">
     <input type="submit" name="invia" value="Submit!" >
    
    
    
      </fieldset>
    </form>
    </BODY>
    </HTML>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Grazie. l'esempio è certamente utile; nel frattempo ho risolto così:

    codice:
    function mySubmit(form)
    {
    	if (controlla(form)==false)
    	{ 
    	return false;
    	}else{ 
    	return somma(form) && controlla(form);
        }
    }
    
    ...
    
    <form name="form" method="POST" ACTION="processa.asp" onsubmit="return mySubmit(this)">

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.