Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Evento onsubmit in un form no POST

    ciao a tutti.

    se i dati di un form invece di essere inviati tramite il classico metodo post, vengono inviati in questo modo tramite una funzione javascript che li raccoglie e li trasmette:

    codice:
    <a href="#" onclick="Go();return false;">
    come faccio a prevedere un controllo sui campi del form che prevedono solo numeri?

    ho sempre usato questa funzione per il controllo dei campi, ma il form era inviato come post e quindi bastava prevedere l'evento onsubmit, ma in questo caso come faccio?

    codice:
    function check(form)
    
     {
    
       var re = new RegExp("^[0-9]+$");
    
        if (campo.value.match(re))        
    
       {          
    
           window.alert('Il campo ' + campo.name + 'può contenere solo cifre numeriche !');         
           campo.focus();          
           campo.select();           
           return(false);        
    
    }
    
    
    return(true);
    
    }
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    non mi sono spiegato a dovere?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non è chiarissimo comunque prova cosi:
    codice:
    function go()
    
     {
       var campo = document.nomeForm.nomeCampo
       var re = new RegExp("^[0-9]+$");
    
        if (campo.value.match(re))        
    
       {          
    
           window.alert('Il campo ' + campo.name + 'può contenere solo cifre numeriche !');         
           campo.focus();          
           campo.select();           
           return false;        
    
    }else{
    
    document.nomeFom.submit()
    return true;
    }
    }
    altrimenti prova ha spiegarti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    scusa non sono un esperto javascript, questa è la funzione che dicevo ( trovata qui sul forum ).

    codice:
    function Go(){
    
    var f=document.getElementById('id_Myform')
    var s="";
    
    for(var i=0;i<f.elements.length;i++){
      s+=f.elements[i].value+',';
    }
    
      window.opener.document.id_Myform.campo.value = s
      alert("OK.");
      window.close();
    
    }
    
    ...
    
    ...
    Vorrei che quando si attiva l'evento onclick se i campi del form chiamati "n_1" e "n_2" non contengono numeri si bloccasse l'invio dei dati.

    E' possibile?
    grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    function Go(){
    
    var f=document.getElementById('id_Myform')
    var s="";
    var re = new RegExp("^[0-9]+$");
    
    for(var i=0;i<f.elements.length;i++){
    
    if(f.elements[i].value.match(re)){
    alert("I campi devo contenere solo numeri");
    f.elements[i].focus();
    return false;
    
    }else{
      s+=f.elements[i].value+',';
    }
    }
    
      window.opener.document.id_Myform.campo.value = s
      alert("OK.");
      window.close();
    
    }
    altrimenti metti online un esempio, cosi da lavorare su qualcosa di concreto.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    grazie, ho provato ma i dati vengono salvati anche con i campi lasciati vuoti...
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Aggiungi prima delle verifica dei numeri questo pezzo di codice:
    codice:
    if(f.elements[i].value == ""){
    alert("I campi devo essere compilati");
    f.elements[i].focus();
    return false;
    }else if(......
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    il link è questo

    Ho fatto le modifiche che mi hai detto, ma non le ho ancora pubblicate; in locale ho tutti i campi obbligatori ( e non va bene ) e se metto numero nei campi di testo n_1 e n_2 non li accetta, prende solo lettere; dovrebbe essere esattmente il contrario.

    grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    codice:
    function Go(){
    
    var f=document.getElementById('id_Myform')
    var s="";
    var re = new RegExp("^[0-9]+$");
    
    for(var i=0;i<f.elements.length;i++){
    
    if(f.elements[i].value == ""){
    alert("I campi devo essere compilati");
    f.elements[i].focus();
    return false;
    }else
    
    if(!f.elements[i].value.match(re)){
    alert("I campi devo contenere solo numeri");
    f.elements[i].focus();
    return false;
    
    }else{
      s+=f.elements[i].value+',';
    }
    }
    
      window.opener.document.id_Myform.campo.value = s
      alert("OK.");
      window.close();
    
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    si grazie adesso si funziona!
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

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.