Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    value nullo nel richiamare un campo..

    ciao, devo controllare il contenuto di un campo del form.. quindi:
    codice:
    function ctrl(nomecampo){
    var e=document.f.elements[nomecampo];
    if(e==""){
     alert("Inserire una valore");
     return false;
     }
     if (parseInt(e.value)<document.f.elements['h'+nomecampo].value) {
      alert("Inserire una valore uguale o superiore a "+document.f.elements['h'+nomecampo].value);
       return false;
     }
     return true;
    }
    e richiamo la funzione qui:
    codice:
        <input name="qta<%=rs("idprod")%>" type="text" class="ctrlsqta" title="Ricorda di aggiornare il carrello dopo aver modificato la quantità" onMouseOver="this.focus();" size="2" onBlur="return ctrl(qta45);" >
    come mai mi esce fuori: value è nullo o non è un oggetto.. ?
    Voglio l'alt+s anche per FF

  2. #2
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    forse mi sbaglio ma non dovrebbe essere:

    onBlur="return ctrl('qta45');"

    ?

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    provo
    Voglio l'alt+s anche per FF

  4. #4
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    cavolo c'hai ragione
    una cosa.. invece dell'evento onblur quale mi consiglieresti?
    poi un'altra cosa..
    come avrai notato ho scritto:
    ..onMouseOver="this.focus();".... per fare il focus al campo quando si passa sopra con il mouse, ma come si seleziona quello che c'è dentro se c'è del testo?
    Voglio l'alt+s anche per FF

  5. #5
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    Originariamente inviato da dops
    cavolo c'hai ragione
    una cosa.. invece dell'evento onblur quale mi consiglieresti?
    poi un'altra cosa..
    come avrai notato ho scritto:
    ..onMouseOver="this.focus();".... per fare il focus al campo quando si passa sopra con il mouse, ma come si seleziona quello che c'è dentro se c'è del testo?
    Ero un po indeciso perchè sto un po rintronato e volevo evitare castronerie di prima mattina ma era semplice
    Per l'onblur, immagino dipenda da cosa vuoi fare
    Invece per il focus, non mi pare di averlo mai nemmeno visto fare, non hai un esempio online?

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da rixx
    Ero un po indeciso perchè sto un po rintronato e volevo evitare castronerie di prima mattina ma era semplice
    Per l'onblur, immagino dipenda da cosa vuoi fare
    Invece per il focus, non mi pare di averlo mai nemmeno visto fare, non hai un esempio online?

    no non ho un esmpio..
    cosa devo fare? bhè la cosa ideale sarebbe quella di controllare i campi prima di fare il submit.. cioè al click sul pulsante di submit.. ma non ci riesco come faccio a controllarli tutti in un sol colpo?
    forse con un ciclo ma non ci riesco
    mi puoi dare una mano?

    Dimenticavo..
    adesso ho questo script:
    codice:
    function ctrl(nomecampo){
    var e=document.f.elements[nomecampo];
    if(e.value==""){
     alert("Inserire una valore nel campo quantità del prodotto '"+document.f.elements['tit'+nomecampo].value+"'");
     return false;
     e.focus();
     }
       if (isNaN(e.value)) {
       alert("Inserire una valore numerico campo quantità del prodotto '"+document.f.elements['tit'+nomecampo].value+"'");
        return false;
      }
     if (parseInt(e.value)<document.f.elements['h'+nomecampo].value) {
      alert("Inserire una valore uguale o superiore a "+document.f.elements['h'+nomecampo].value+" ne campo quantità del prodotto '"+document.f.elements['tit'+nomecampo].value+"'");
       return false;
     }
     return true;
    }
    che funziona alla perfezione.. ma sull'onblur di ogni campo..
    Voglio l'alt+s anche per FF

  7. #7
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    se non vuoi modificare la funzione per renderla unica per ogni campo di basta fare:

    onSubmit="ctrl('nomecampo'); ctrl('nomecampo1'); ctrl('nomecampo2'); "
    e li controlli tutti, se non sono tanti altrimenti potrebbe rallentarsi un po e allora conviene modificare la funzione(se sono meno di 6-7=


  8. #8
    potresti scrivere uno script del genere

    codice:
    function ctrl(oggettoForm){
    //array contenente tutti i campi;con il for verranno analizzati ad uno ad uno i campi.
    var arrayElementi=oggettoForm.elements;
    
    //stringa contenente tutti i messaggi di errore prodotti e che verranno visualizzati con un unico alert.
    var errori="";
    
    for(var i=0;i<arrayElementi.length;i++){
     if(/*controllo*/){//se campo non è valido
       mex+="messaggio\n";//concateno il messaggio a quelli che c'erano già.
     }
    }
    
    //finiti i controlli, vedo se la stringa "errori"contiene messaggi di errore e invio l'alert.
    if(errori!="") {alert(errori);return false;}
    
    //se "errori" non conteneva messaggi il form può essere mandato
    return true;
    }
    da richiamare nel tag form con onSubmit="return ctrl(this);"

    potrebbe andare?

  9. #9
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da rixx
    se non vuoi modificare la funzione per renderla unica per ogni campo di basta fare:

    onSubmit="ctrl('nomecampo'); ctrl('nomecampo1'); ctrl('nomecampo2'); "
    e li controlli tutti, se non sono tanti altrimenti potrebbe rallentarsi un po e allora conviene modificare la funzione(se sono meno di 6-7=

    mhh.. cavolo sono parecchi.. modificare lo script? eh è un casotto
    che ne pensi della soluzione di comndante space?
    Perchè non se va bene, visto che il nome dei campi sarà unico.. per tutti..
    Voglio l'alt+s anche per FF

  10. #10
    in ogni caso se uno disattiva i javascript nel suo browser potresti ritrovarti ordini per "chissà", "che vuoi?" o qualunque cavolata uno vuole scrivere....quello che voglio dire è che secondo me per questi tipi di controlli è più indicato uno script lato server(che nessuno può disattivare) piuttosto che uno lato client(disattivabile e aggirabile a piacere)...

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.