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

    semplice funzione.. non dà errore ma non funziona :(

    ciao, devo semplicemente controllare che due campi non siano vuoti.. quindi:
    codice:
    function controlla(f){
    var titolo=document.f.titolo.value;
    var testo=document.f.testo.value;
    
    if(titolo==""){
    alert("Attenzione inserire il titolo");
    document.form1.titolo.focus();
    return false;
    }
    
    if(testo==""){
    alert("Attenzione inserire il testo");
    document.form1.testo.focus();
    return false;
    }
    
    return true;
    }
    e nel form
    codice:
    <form name="form1" method="post" action="gestnews.asp" style="margin:0px" onSubmit="return controlla(this);">
    Non mi riporta errori, ma se il form viene inviato anche se i campi sono vuoti
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono errori nell'uso del DOM.

    Alla funzione passi un oggetto, il form. Da tale oggetto devi partire per tutte le elaborazioni.

    Nella funzione document.f non e` definito.
    document.form1 invece e` definito e corretto, ma perche` partire dal document se abbiamo gia` a disposizione un oggettopiu` specifico (che non dipende dai nomi che abbiamo dato al form).

    L'uso corretto degli oggetti del DOM e`:
    codice:
    function controlla(f){
      var titolo = f.titolo.value;
      var testo = f.testo.value;
    
      if(titolo==""){
        alert("Attenzione inserire il titolo");
        f.titolo.focus();
        return false;
      }
    
      if(testo==""){
        alert("Attenzione inserire il testo");
        f.testo.focus();
        return false;
      }
    
      return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    il problema praticamente è che richiamavo l'oggetto passato tramite document quando invece non era necessario? mhh. capito
    Voglio l'alt+s anche per FF

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da dops
    il problema praticamente è che richiamavo l'oggetto passato tramite document quando invece non era necessario? mhh. capito
    No, il problema era che a livello dell'oggetto document non esiste nessun oggetto f.
    f e` un oggetto definito all'interno della funzione (e` una variable locale), ma se chiami l'oggetto document poi non puoi far riferimento ad una variabile locale.

    JS e` un linguaggio OO (Object Oriented = orientato agli oggetti): significa che gli oggetti sono elementi che il linguaggio riconosce e sa usare.
    ogni oggetto possiede delle proprieta` e dei metodi.
    Un metodo e` in pratica una funzione che agisce su quell'oggetto, una proprieta` e` un sotto-oggetto definito al suo interno.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Mich_
    No, il problema era che a livello dell'oggetto document non esiste nessun oggetto f.
    f e` un oggetto definito all'interno della funzione (e` una variable locale), ma se chiami l'oggetto document poi non puoi far riferimento ad una variabile locale.

    JS e` un linguaggio OO (Object Oriented = orientato agli oggetti): significa che gli oggetti sono elementi che il linguaggio riconosce e sa usare.
    ogni oggetto possiede delle proprieta` e dei metodi.
    Un metodo e` in pratica una funzione che agisce su quell'oggetto, una proprieta` e` un sotto-oggetto definito al suo interno.
    hehe.. grazie della lezione ma sapevo cosa signifiva object oriented
    Cmq hai detto + o - meno quello che dicevo io.. in pratica richiamavo il nome del form tramite "l'oggetto" document..
    Voglio l'alt+s anche per FF

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.