giorno settimanamesegiorno

Sono passati 88 giorni dall'inizio dell'anno che corrispondono a 13 settimane

Arcobaleno, domani sereno



* Chattina

Aggiorna Storia
  • mar: :resistere:
    Febbraio 15, 2022, 19:44:48
  • mar: Non mi ricordavo di essere un global moderator wauuuu Ok Prof ti lascio restaurare in pace!
    Febbraio 15, 2022, 19:43:56
  • mar: :Cartelli70:
    Febbraio 15, 2022, 19:41:14
  • mar: ad cazzum pure qui?
    Febbraio 15, 2022, 19:41:02
  • mar: ciaoooo sono in perlistrazione
    Febbraio 15, 2022, 19:40:44
  • mar: :okkey:
    Febbraio 15, 2022, 19:40:20
  • Loretta/Nina: ciao a tutti
    Ottobre 04, 2021, 19:23:02
  • Loretta/Nina: :tuffarsi:
    Settembre 21, 2021, 07:08:03
  • Loretta/Nina: Buon autunno a tutti
    Settembre 21, 2021, 07:01:35
  • nuvolotta: avventure testuali
    Luglio 06, 2020, 23:26:08
  • _jan_: ...gli ultimo però....!!
    Gennaio 14, 2019, 14:45:09
  • _jan_: vedi gli ultimi post in fondo.
    Novembre 24, 2018, 19:10:00
  • mar: Trovato :Amm9:
    Novembre 24, 2018, 18:57:51
  • mar: Chi cerca trova non vi trovo! :Cartelli2:
    Novembre 24, 2018, 18:57:05
  • mar: Vado a vedere le cartoline!
    Novembre 24, 2018, 18:52:38
  • mar: :Amore145:
    Novembre 24, 2018, 18:52:21
  • mar: :Amore178:
    Novembre 24, 2018, 18:52:07
  • _jan_: Welcome Visitor.  :Party133:
    Novembre 15, 2018, 10:03:24
  • Loretta/Nina: Benvenuto ligi  :Cartelli37:
    Ottobre 09, 2018, 13:19:25
  • nuvolotta: Cucù...  :Amore20:
    Settembre 16, 2018, 01:16:47
  • Loretta/Nina: :Party133:
    Settembre 01, 2018, 17:05:30
  • _jan_: Ciao ai visitors!!
    Settembre 01, 2018, 17:02:31
  • Loretta/Nina: :fischio: :979:
    Agosto 28, 2018, 16:20:48
  • ketty: ah beh, meno male. ora il tempo e' un po' brutto
    Agosto 26, 2018, 13:27:36
  • _jan_: No, no, soqquà. Ci passo ma....... non c'è mai nessuno. Ammiro Nuvolotta, solitaria e presente.
    Agosto 25, 2018, 10:34:41
  • ketty: ma Jan è andato in vacanza? :Cartelli70:
    Agosto 24, 2018, 20:51:59
  • ketty: ciao a tutti.
    Agosto 24, 2018, 20:50:12
  • nuvolotta: :faccina_fiore: ciao ragazzioli/ole...
    Agosto 19, 2018, 23:03:49
  • Loretta/Nina: :ciao: :Party133:
    Agosto 19, 2018, 20:24:28
  • _jan_: :Felici13:
    Agosto 04, 2018, 15:30:40
  • nuvolotta: Ferie... già fatte....
    Agosto 04, 2018, 09:54:58
  • _jan_: Auguri di buon onomastico a tutti gli Alfonso....
    Agosto 01, 2018, 11:10:21
  • _jan_: chiusp per ferie?
    Luglio 30, 2018, 19:50:58
  • _jan_: Buon onomastico a Donatella Seconda........ e la prima? :Shok145:
    Luglio 30, 2018, 06:59:38
  • _jan_: Buon onomastico a tutte le Marta.  :Amore20:
    Luglio 29, 2018, 07:44:31
  • _jan_: Ci sono altre nuove iscritte viste il 26 luglio 2018..... (mica saranno monache)....  :approva:
    Luglio 26, 2018, 18:39:04
  • _jan_: Oggi, 26 luglio 2018, abbiamo una nuova iscritta "Francesca".....Benvenuta Francesca.  :Party133:
    Luglio 26, 2018, 15:49:24
  • _jan_: Buon onomastico anche a tutte le Anna!!! .....
    Luglio 26, 2018, 10:30:21
  • _jan_: Auguri di Buon Onomastico a TUO..... (ogni giorno, credo)..... :sm269:
    Luglio 26, 2018, 10:28:52
  • ketty: ma.... quando è il tuo?
    Luglio 25, 2018, 19:52:19

* Emoticon aggiuntive e link al portale


Autore Topic: Validare un form di cui si ignorano i nomi dei campi  (Letto 3402 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline micdas

  • Administrator
  • Hero Member
  • *****
  • Post: 848
  • Sesso: Maschio
    • sito su Excel ed il suo vba
Validare un form di cui si ignorano i nomi dei campi
« il: Settembre 09, 2009, 21:07:47 »
Ciao  :ciao:
I lavori continuano e con questi anche i problemi aumentano.
Recentemente per validare un form tramite JS comincio ad usare una cosa del genere:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
function check_valid(form) {
// anagrafe
    if (form.nome.value == "") { // nome
        alert ("Il campo del nome è vuoto");
        form.nome.value = "";
        form.nome.focus();
        return false;
    }
    if (form.cognome.value == "") { // cognome
        alert ("Il campo del cognome è vuoto");
        form.cognome.value = "";
        form.cognome.focus();
        return false;
    }
    if (form.citta.value == "") { // città
        alert ( "Il campo della città è vuoto");
        form.citta.value = "";
        form.citta.focus();
        return false;
    }
    ..........................
    return true;
}

La form è costruita manualmente e posso richiamare la funzione JS in questo moso:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<form name="form1" method="post" action="invia_form.php" onsubmit="return check_valid(this)" id="form1">
<input type="text" name="nome" size="30" />
<input type="text" name="cognome" size="30" />
<input type="text" name="citta" size="30" />
.......................
</form>

Questa volta il problema è un altro.
Il form non lo scrivo manualmente ma usando semplicemente un ciclo dopo aver rilevato i campi dal DB con una Query e viene scritto in questo modo:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"\"onsubmit=\"check(this);\">\n";
for ($i=1; $i < mysql_num_fields ($Result); $i++) {     // comincio da 1 perchè lo "0" è il campo ID
$colonna = mysql_field_name ($Result, $i);
if ($colonna == "note") {
echo "<textarea name=\"".$colonna."\" cols=\"33\" rows=\"5\"></textarea>\n";
} else {
echo "<input type=\"text\" name=\"".$colonna."\" size=\"44\" />\n";
}
}
....................................
echo "</form>\n";

In questo modo so solo che un campo si chiama "note", ma per il resto è tutto buio.
Io penso che ci dovrebbe essere un modo per leggere i controlli del form da JS e controllare se i dati sono validi.

Grazie dell'aiuto   :Party133:
E' stupido pensare di non aver bisogno degli altri

Offline HellDevil

  • Global Moderator
  • Full Member
  • ***
  • Post: 106
  • Sesso: Maschio
Re: Validare un form di cui si ignorano i nomi dei campi
« Risposta #1 il: Settembre 10, 2009, 09:34:32 »
Così al volo mi viene da dire:
Rendi dinamico anche il javascript leggendo dallo stesso db con la stessa query, così non hai problemi.

Potresti per esempio, anzichè stampare direttamente quello che leggi dal db metterlo in una variabile (tutto l'html che ti interessa in una variabile stringa). Inizializzi due variabili stringa, una per il form che ti sei costruito dinamicamente e una per il javascript che ti sei costruito dinamicamente anche quello. Dopodichè fai semplicemente due echo delle due variabili nella posizione della pagina che ti interessa.

Comunque esiste una soluzione alternativa, per evitare di scrivere del codice così lungo e esteticamente brutto (però non scorretto).

Più tardi ci penso e ti faccio sapere.

Saluti
HellDevil
Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa

Offline HellDevil

  • Global Moderator
  • Full Member
  • ***
  • Post: 106
  • Sesso: Maschio
Re: Validare un form di cui si ignorano i nomi dei campi
« Risposta #2 il: Settembre 10, 2009, 09:44:55 »
Hai pubblicato la pagina come al solito?
Se si qual'è l'indirizzo?
Ho trovato la soluzione alternativa più pulita, la testo e se tutto funziona te la posto.
Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa

Offline micdas

  • Administrator
  • Hero Member
  • *****
  • Post: 848
  • Sesso: Maschio
    • sito su Excel ed il suo vba
Re: Validare un form di cui si ignorano i nomi dei campi
« Risposta #3 il: Settembre 10, 2009, 16:11:14 »
Ciao HellDevil  :ciao:
sì scusa la distrazione. La pagina ovviamente è pubblicata
Ovviamente ora nella pagina non ho alcun codice JS per cui non c'è alcun controllo.
Per la circostanza ho creato Non sei autorizzato a vedere i links. Registrati o Login per osservare il comportameto ed una Non sei autorizzato a vedere i links. Registrati o Login per vedere il codice. Spero che sia sufficiente per eseguire dei test ed ho anche aggiunto anche 2 controlli non obbligatori da escludere nel processo al form. Ai campi obbligatori, se può servire, ho assegnato delle classi per distinguerli da quelli non obbligatori.

Codice: Non sei autorizzato a vedere i links. Registrati o Login
echo "<textarea name=\"".$colonna."\" class=\"si\" cols=\"33\" rows=\"5\"></textarea>\n";    \\ obbligatorio
echo "<input type=\"text\" name=\"".$colonna."\" class=\"si\" size=\"44\" />\n";                   \\ obbligatorio
..................
echo "<input type=\"text\" name=\"textfield\" />                                                             \\ non obbligatorio
echo "<textarea name=\"textarea\" id=\"textarea\" cols=\"33\" rows=\"5\"></textarea>          \\ non obbligatorio

Una mia idea è che se si riesce a creare il codice, questo può essere utilizzato anche nella maggior parte di altri form, dinamici e non.

Grazie ancora.

 :bye:
E' stupido pensare di non aver bisogno degli altri

Offline HellDevil

  • Global Moderator
  • Full Member
  • ***
  • Post: 106
  • Sesso: Maschio
Re: Validare un form di cui si ignorano i nomi dei campi
« Risposta #4 il: Settembre 11, 2009, 07:03:11 »
Ciao mic, :coffe: buongiorno.
Ho risolto il problema :vittoria: modificando la funzione js che usi tu di check. Praticamente mentre tu fai un controllo su ogni singolo campo, nella mia ho fatto ciclare tutti gli elementi della form che gli passi con il costrutto elements. Praticamente adesso il controllo è questo:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
function check_valid(theForm) {
for (i=0; i < theForm.elements.length; i++) {
if (theForm.elements[i].value == "" && theForm.elements[i].className == "si") {
alert ("Il campo " + theForm.elements[i].name + " è vuoto");
         theForm.elements[i].value = "";
         theForm.elements[i].focus();
         return false;
}
}
return true;
}
Come puoi vedere il ciclo è semplicemente un ciclo for da 1 alla lunghezza del costrutto elements, poi ho aggiunto il controllo per vedere se il campo è vuoto e se ha la classe uguale a "si". Ovviamente puoi mettere quello che vuoi. L'ho testata sulla pagina che mi hai scritto e funziona. Poi fammi sapere se vuoi essere chiarito qualcosa e se funziona nelle tue pagine  :okkey:

Buona giornata.
HellDevil  :bye:
« Ultima modifica: Settembre 11, 2009, 07:04:45 da HellDevil »
Tutti sanno che una cosa é impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa

Offline micdas

  • Administrator
  • Hero Member
  • *****
  • Post: 848
  • Sesso: Maschio
    • sito su Excel ed il suo vba
Re: Validare un form di cui si ignorano i nomi dei campi
« Risposta #5 il: Settembre 11, 2009, 08:17:12 »
:Banane27:  :Banane27:  :Banane27:

Non sei autorizzato a vedere i links. Registrati o Login

 :ciao: e alla prossima
E' stupido pensare di non aver bisogno degli altri