Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297

    Controllo su campi dinamici con nomi diversi

    Ciao a tutti,
    io ho un problemino mica da poco.
    In un form chiamata formUtenti genero automaticamente tramite asp un numero di input text casuale [a seconda di cosa mi mette l'utente nel db] divisi tra adulti | bambini | infant

    Es:
    3 adulti -> tre input nomeAdu [poi segue un progressivo]
    tre input cognomeAdu [poi segue un progressivo]
    tre input nascitaAdu [poi segue un prograssivo]

    Quindi
    input text"nomeAdu1"
    input text"nomeAdu2"
    input text"nomeAdu3"

    input text"cognomeAdu1"
    input text"cognomeAdu2"
    input text"cognomeAdu3"

    input text"nascitaAdu1"
    input text"nascitaAdu2"
    input text"nascitaAdu3"

    ===========

    2 bambini -> due input nomeBam [poi segue un progressivo]
    due input cognomeBam [poi segue un progressivo]
    due input nascitaBam [poi segue un prograssivo]

    Quindi
    input text"nomeBam1"
    input text"nomeBam2"

    input text"cognomeBam1"
    input text"cognomeBam2"

    input text"nascitaBam1"
    input text"nascitaBam2"

    ===========

    1 infant -> un input nomeInf [poi segue un progressivo]
    un input cognomeInf [poi segue un progressivo]
    un input nascitaInf [poi segue un prograssivo]

    Quindi
    input text"nomeInf1"

    input text"cognomeInf1"

    input text"nascitaInf1"

    Quindi ho tanti campi text con nomi diversi.
    Con questa funzione

    function controllaFormUtenti(ff) {
    for (var i=0; i<ff.length; i++) {
    if (ff.elements[i].value == "") {
    alert("ATTENZIONE: completare i form in tutte le sue parti");
    return false;
    }
    }
    }

    riesco a controllare che nessun campo sia vuoto al momento del sabmit, solo che invece i campi nascitaAdu lo possono essere.
    Come faccio ad omettere dal controllo questi tenendo presente che hanno lo stesso suffisso ma poi si differenziano per numero progressivo finale?

    Grazie 1000
    Franz

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Franz_79,

    se devi controllare solo gli input di tipo text con il nome che non comincia per nascitaAdu potresti fare così
    codice:
    function controllaFormUtenti(ff){
      var suffisso = 'nascitaAdu';
      for (var i=0; i<ff.length; i++){
        if (ff.elements[i].type=='text' && ff.elements[i].name.substr(0,suffisso.length)!=suffisso && ff.elements[i].value == "") {
          alert("ATTENZIONE: completare i form in tutte le sue parti");
          return false;
        }
      }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    297
    Scusa se rispondo solo ora... PERFETTO !!!!
    Proprio quello che volevo ...
    Grazie 1000

    Franz

  4. #4
    Mi "allego a questo topic ..perchè è proprio quello che servirebbe anche a me...

    io ho dei campi text creati dinamicamente (per cui non sa mai quanti sono)...così distinti...

    nome_ita1
    nome_ita2
    nome_ita3
    etc...

    nome_eng1
    nome_eng2
    nome_eng3
    etc...

    i campi nome_ita e nome_eng sono distinti dal numerino...e sono sempre numeri uguali nel senso che...se sono 5 campi nome_ita ...saranno 5 anche nome_eng

    per cui ho provato:
    <script language="JavaScript">
    function controllaForm(ff){
    var suffisso = 'nome';
    for (var i=0; i<ff.length; i++){
    if (ff.elements[i].type=='text' && ff.elements[i].name.substr(0,suffisso.length)!=suffisso && ff.elements[i].value == "") {
    alert("ATTENZIONE: completare i form in tutte le sue parti");
    return false;
    }
    }
    }
    </script>

    <form method="post" name="frmNomeForm" onSubmit="return controllaForm()" action="pagina.asp">

    ma non succede nulla

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao -AA-

    il tuo caso è leggermente diverso diverso (a Franz_79 serviva uno script che controllava i text con suffisso nome diverso da nascitaAdu)
    Per te la funzione dovrebbe essere
    codice:
    function controllaForm(ff){
      var suffisso = 'nome';
      for (var i=0; i<ff.elements.length; i++){
        if (ff.elements[i].type=='text' && ff.elements[i].name.substr(0,suffisso.length)==suffisso && ff.elements[i].value == "") {
          alert("ATTENZIONE: completare i form in tutte le sue parti");
          return false;
        }
      }
    }
    e poi va richiamata passando come parametro il form
    codice:
    <form method="post" name="frmNomeForm" onSubmit="return controllaForm(this)" action="pagina.asp">

  6. #6
    MA GRAZIEEE!!!!!


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