Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    (javascript) convalidare più campi testuali

    Salve a tutti, leggendo alcuni post precedenti, ho trovato qualche script che permetteva di convalidare più campi con una sola funzione.
    Io mi chiedevo perchè questo non funziona, o per lo meno se dovesse funzionare, dove sbaglio:

    function validaForm(passaForm,campo) {
    if (document.passaForm.campo.value == "") {
    alert("campo incompleto")
    passaForm.campo.focus()
    return false
    }
    return true
    }

    In questo modo sul mio form e su tutti gli altri potrei mettere il seguente evento:

    <form action="unaPagina" method="get" name="Form1" class="menu" onSubmit="return validaForm(this,campo1)">
    <input name="campo1" type="text" id="campo1">
    </form>

    Il parametro "passaForm", sarebbe ovviamente il nome del form, mentre "campo" dovrebbe essere il nome del campo.

    Ovviamente tutti i campi sono di tipo text.

    Grazie, ciao.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    campo1 e' una stringa che rappresenta il nome del campo, non una variabile, quindi devi passarla tra apici
    onSubmit="return validaForm(this,'campo1')">

    altro errore,
    document.passaForm.campo.value
    javascript non sostituisce automaticamente le variabili con i rispettivi valori in un' espressione scritta in questo modo,
    quindi cerchera' un form con name="passaForm" e un campo con name="campo"

    puoi, sconsigliato, far valutare l' espressione con eval
    eval("document."+passaForm+"."+campo+".value")
    oppure, consigliato, sfruttare gli array naturali che collezionano tutti i forms del documento e gli elements in essi contenuti

    document.forms[passaForm].elements[campo].value

    ciao

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ops, dal momento che non passi il nome del form, ma this, puoi scrivere direttamente

    passaForm.elements[campo].value

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.