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

    Controllo Input vuoti in una form

    Salve a tutti, sono molto attivo nella sezione PHP ma sto incocciando in uno script JS, per cui sono qui a chiedervi una mano.

    Passo ad illustrarvi quello di cui necessito.
    Ho una form con N input.
    Di alcuni di questi input, prima che vengano inviati i dati allo script PHP che processa i dati, voglio andare a controllare in JS se i campi obbligatori sono stati compilati.
    Ho pensato di inserire in ogni campo obbligatorio una classe HTML, con cui effettuerò la validazione.

    Per intenderci:
    Codice PHP:
    /* ESEMPIO DI UN INPUT OBBLIGATORIO*/



       
    <label for="xxx">Label Campo</label>
       <
    input type="text" value="" id="autore" name="autore" class="_req_" />
    </
    p
    Avevo pensato di fare uno script del genere.
    Codice PHP:
    /* ESTRATTO DEL JAVASCRIPT */
    function check(campo) {
      var 
    elem document.getElementById('nome_form').getElementsByClassName('_req_'); 

    /* ..seguono operazioni */

    La funzione check() viene invocata con onSubmit nel tag FORM.
    Secondo le mie scarse conoscenze di JS la variabile elem dovrebbe contenere tutti gli input text che sono obbligatori.
    Io pensavo di andare a recuperare il value di ogni singolo input e verificare che non sia vuoto né che contenga solo spazi.
    Nel caso la condizione si verifichi per almeno uno dei campi obbligatori, l'invio dei dati via POST viene bloccato (e questo lo so fare).

    Qui nasce il problema.
    Non riesco a capire come ciclare ELEM per verificare i VALUE di ogni singolo input.

    Chi può darmi una mano?
    Grazie in anticipo
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  2. #2
    UP
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    a meno che tu non abbia gia' una funzione apposita per il getElementsByClassName() e' il caso tu faccia una ricerca, perche' non e' un metodo del DOM completamente compatibile

    per ovviare senza una funzione apposita,
    var elem = document.getElementById('nome_form').getElementsBy TagName('input');
    poi nel ciclo valuti se elem.className=='_req_' lo prendi in considerazione

    il ciclo lo fai come un qualunque altro ciclo
    for(var k=0,l=elem.length;k<l;++k){
    ... qui parli di elem[k]...
    }

  4. #4
    Ci ho sbattuto tutto il pomeriggio, con infiniti cicli di FOR IN per capire quali proprietà fossero presenti.
    Per adesso grazie.
    Domani faccio dei tentativi e ti faccio risapere.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    e se fai:

    Codice PHP:
    <input type="text" value="" id="autore" name="autore" required /> 
    Questa volta, più che un voto.. è favoreggiamento.

  6. #6
    Mi sono incaponito con lo script, che comunque ancora non mi funziona.
    Alla fine ho scelto di agire con il metodo suggerito da Al_katraz984, e quantomeno adesso mi funziona.
    Tornerò sull'argomento nei prossimi giorni, con un po' di calma.
    Per adesso grazie a tutti.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    quando ti rimetti a lavorare sullo script fai un fischio che ti spiego come devi operare

    ciaoo
    Questa volta, più che un voto.. è favoreggiamento.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.