Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177

    [javascript] scatenare evento

    ciao il mio probelma è questo:
    ho un form con x campi, di questi y sono obbligatori, il controllo su questi campi lo faccio con un evento onblur="FunzioneDiVerifica();"

    Ora quando faccio il submit ho un loop che riesce a leggere quali campi hanno una funzione di verifica sull'onblur.

    Mi piacerebbe eseguire il comando contenuto nell'onBlur senza usare eval...


    Suggerimenti?
    Ciao Grazie
    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

  2. #2
    Il primo suggerimento potrebbe essere quello di postare almeno una parte del codice... così ci vuole la sfera di cristallo per capire cosa intendi fare...
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  3. #3
    Utente di HTML.it L'avatar di erme2
    Registrato dal
    Oct 2002
    Messaggi
    177
    .. in effetti...
    Codice PHP:
    <form name="nome">
    <
    input  name="prova" type="text" size="12" maxlength="12" onblur="CheckIt('prova', 6, 'Prova deve essere lungo almeno sei caratteri!');" id="check" />
    <
    input type="button" value="conferma" onclick="MakeSubmit();">
    </
    form
    funzioni js
    Codice PHP:
    function CheckIt(campolenmsg) {
    // esegue un controllo sulla lunghezza del campo
        
    if (document.forms[0].elements[campo].value.length<len) {
            
    alert(msg);
            
    document.forms[0].elements[campo].focus();
            return 
    false;
        }
        return 
    true;
    }
    function 
    CheckData(){
    // azzera le precendeti verifiche
        
    do {
        var 
    elmt=document.getElementById('ok');
            if (
    elmt!=undefined) { elmt.id='check'; }
        } while(
    elmt!=undefined);
    // inizia le verifiche solo sui campi che hanno id='check'
        
    do {
        var 
    elmt=document.getElementById('check');
            if (
    elmt!=undefined) {
                for (
    k=0k<=elmt.attributes.length-1k++ ) {
                    if (
    elmt.attributes[k].nodeName=="onblur") {
    // se c'è qualcosa su onblur lo eseguo
    // questo è l'eval che vorrei eliminare
                        
    if (eval(elmt.attributes[k].nodeValue)) { elmt.id='ok'; }
                        else return 
    false;
                    }
                }
            }
        } while(
    elmt!=undefined);
    }

    function 
    MakeSubmit() {
    // faccio il submit solo se la verifica dei dati è riuscita
        
    if (CheckData()) { document.forms[0].submit(); }

    eRMéS! RM98!
    "...è mai possibile oh porco di un cane, che le avventure in codesto reame, debban risolversi tutte con grandi puttane!..." - (Carlo Martello ritorna dalla battaglia di Poitiers -Fabrizio De Andrè/Paolo Villaggio)

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.