{"id":1172,"date":"2012-05-10T11:21:36","date_gmt":"2012-05-10T10:21:36","guid":{"rendered":"http:\/\/www.manuelmarangoni.it\/sir-bit\/?p=1172"},"modified":"2016-02-03T17:30:13","modified_gmt":"2016-02-03T16:30:13","slug":"jquery-php-validazione-dei-campi-di-un-form-prima-dellinvio","status":"publish","type":"post","link":"https:\/\/www.manuelmarangoni.it\/sir-bit\/1172\/jquery-php-validazione-dei-campi-di-un-form-prima-dellinvio\/","title":{"rendered":"JQuery, PHP &#8211; Validazione dei campi di un form prima dell\u2019invio"},"content":{"rendered":"<p>Tempo fa abbiamo visto come controllare codice fiscale, partita iva, email e prezzo proveniente da un form attraverso <a title=\"PHP - Controllare le variabili nei form - Codice fiscale, partita iva, email e prezzo | Sir Bit\" href=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/705\/php-controllare-le-variabili-nei-form-codice-fiscale-partita-iva-email-e-prezzo\/\" target=\"_blank\">l\u2019uso di funzioni in php<\/a>. Questo controllo avviene, naturalmente, dopo l\u2019invio dei dati alla pressione di un tasto da parte dell\u2019utente.<\/p>\n<p>Con l\u2019uso incrociato di php e di jquery abbiamo la possibilit\u00e0 di fare i <strong>controlli a monte, cio\u00e8 prima del submit del form<\/strong>. I controlli saranno effettuati questa volta da lato utente e i dati saranno inviati al server solo se non si incontreranno errori.<\/p>\n<p>Nel file da scaricare troverete:<br \/>\n&#8211; <code>jquery.js<\/code> : necessario per importare le librerie di jquery.<br \/>\n&#8211; <code>style.css<\/code> : formatta il layout del form; personalizzabile a vostra discrezione.<br \/>\n&#8211; <code>index.php<\/code> : il cuore dello script, che andremo a vedere qui sotto.<\/p>\n<p>Lo script pu\u00f2 essere preso cos\u00ec com&#8217;\u00e8 senza modifiche (a eccezione, naturalmente, dell\u2019aspetto grafico che si deve integrare con il vostro sito). Oltre al controllo che i campi non siano vuoti, <strong>nello specifico troveremo la funzione per controllare una data e un\u2019email passate<\/strong>.<\/p>\n\n        <h2>Download script<\/h2>\n        <div style=\"float:left; width:100%; margin-top:60px; margin-bottom:40px;\">\n        <div style=\"float:left; width:100px;\"><img decoding=\"async\" title=\"[JQUERY, PHP] Validazione campi form prima dell\u2019invio\" src=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-content\/themes\/sirbit\/images\/redirect_icon.png\" alt=\"[JQUERY, PHP] Validazione campi form prima dell\u2019invio\" \/><\/div>\n        <div style=\"float:left; width:350px; padding-top:30px; font-size:14px;\"><strong><a title=\"[JQUERY, PHP] Validazione campi form prima dell\u2019invio\" href=\"https:\/\/www.manuelmarangoni.it\/sir-bit\/code\/jquery-php-validazione-campi-form-prima-dellinvio\/\">Pagina diretta alla scheda e al download del codice<\/a><\/strong><\/div>\n        <\/div>\n        <div style=\"clear:both;\"> <\/div>\n<h2>Il form<\/h2>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15\r\n16\r\n17\r\n18<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"html4strict\" style=\"font-family: monospace;\">\u00a0\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">form<\/span> <span style=\"color: #000066;\">action<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"\"<\/span> <span style=\"color: #000066;\">method<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"post\"<\/span> <span style=\"color: #000066;\">name<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"form_utente\"<\/span> <span style=\"color: #000066;\">id<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"form_utente\"<\/span>&gt;<\/span>\r\n\r\n    <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"campo\"<\/span>&gt;<\/span>\r\n        <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"nome_campo\"<\/span>&gt;<\/span>Nome<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span>\r\n        <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">input<\/span> <span style=\"color: #000066;\">type<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"text\"<\/span> <span style=\"color: #000066;\">name<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"nome\"<\/span> <span style=\"color: #000066;\">id<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"nome\"<\/span> <span style=\"color: #000066;\">value<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"&lt;?php if(isset($_POST['nome'])) echo $_POST['nome'];?&gt;<\/span><\/span>\" class=\"input\" \/&gt;\r\n    <span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span>\r\n\r\n    <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"clear\"<\/span>&gt;&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span>\r\n\r\n    [...]\r\n\r\n    <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">a<\/span> <span style=\"color: #000066;\">href<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"javascript:void(0)\"<\/span> <span style=\"color: #000066;\">onclick<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"check_reg();\"<\/span> <span style=\"color: #000066;\">style<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"margin-top:22px;\"<\/span>&gt;<\/span>Invia<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">a<\/span>&gt;<\/span>\r\n\r\n    <span style=\"color: #009900;\">&lt;<span style=\"color: #000000; font-weight: bold;\">div<\/span> <span style=\"color: #000066;\">class<\/span><span style=\"color: #66cc66;\">=<\/span><span style=\"color: #ff0000;\">\"clear\"<\/span>&gt;&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">div<\/span>&gt;<\/span>\r\n\r\n<span style=\"color: #009900;\">&lt;<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #000000; font-weight: bold;\">form<\/span>&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><!--more--><\/p>\n<p>Il form avr\u00e0 campi simili tra loro, per quanto riguarda la struttura (la parentesi quadra con i puntini sostituisce tutti gli altri campi, che troverete nello script da scaricare). In particolare, ogni input avr\u00e0:<br \/>\n&#8211; un attributo <code>id<\/code> con valore associato (i controlli in jquery si riferiranno a questi attributi).<br \/>\n&#8211; un controllo in php nell&#8217;attributo <code>value<\/code>: in caso di errore, il form non sar\u00e0 inviato e la variabile in post sar\u00e0 ripresa, in modo che l&#8217;utente abbia ancora a disposizione i dati che ha inserito.<\/p>\n<p>L&#8217;<strong>attributo <code>id=\"form_utente\"<\/code> ci \u00e8 indispensabile per inviare il form.<\/strong> Una volta effettuati i controlli in jquery, se tutto sar\u00e0 andato a gonfie vele, si far\u00e0 automaticamente il submit del form che ha associato questo attributo.<\/p>\n<p>Il controllo inizier\u00e0 non appena l&#8217;utente cliccher\u00e0 sul link &#8220;Invia&#8221;. Il link non porta a nessuna pagina, ma avvia la funzione <code>check_reg()<\/code> che si occuper\u00f2 di effettuare i vari controlli nei campi.<\/p>\n\n<h2>I controlli con jquery<\/h2>\n<p>Per comodit\u00e0 di forma, i valori degli <code>id<\/code> dei vari campi input obbligatori sono stati messi in un array php.<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"php\" style=\"font-family: monospace;\"><span style=\"color: #666666; font-style: italic;\">\/\/metto il nome degli id dei campi in un array<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"nome\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"cognome\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"sesso\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"data_nascita\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"telefono\"<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000088;\">$id_campi<\/span><span style=\"color: #009900;\">[<\/span><span style=\"color: #009900;\">]<\/span><span style=\"color: #339933;\">=<\/span><span style=\"color: #0000ff;\">\"email\"<\/span><span style=\"color: #339933;\">;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>In questo modo ci sar\u00e0 facile, attraverso un ciclo, stampare nel sorgente della pagina il controllo affinch\u00e9 tutti i campi non siano vuoti:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"php\" style=\"font-family: monospace;\">&lt;!-- Controllo che i campi non siano vuoti --&gt;\r\n<span style=\"color: #000000; font-weight: bold;\">&lt;?php<\/span> <span style=\"color: #b1b100;\">foreach<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #000088;\">$id_campi<\/span> <span style=\"color: #b1b100;\">as<\/span> <span style=\"color: #000088;\">$value<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">{<\/span><span style=\"color: #000000; font-weight: bold;\">?&gt;<\/span>\r\nif($('#<span style=\"color: #000000; font-weight: bold;\">&lt;?=<\/span><span style=\"color: #000088;\">$value<\/span><span style=\"color: #000000; font-weight: bold;\">?&gt;<\/span>').val()==\"\"){\r\n\tcheck=true;\r\n\t$('#<span style=\"color: #000000; font-weight: bold;\">&lt;?=<\/span><span style=\"color: #000088;\">$value<\/span><span style=\"color: #000000; font-weight: bold;\">?&gt;<\/span>').addClass(\"errore\");\r\n}else{\r\n\t$('#<span style=\"color: #000000; font-weight: bold;\">&lt;?=<\/span><span style=\"color: #000088;\">$value<\/span><span style=\"color: #000000; font-weight: bold;\">?&gt;<\/span>').removeClass(\"errore\");\r\n}\r\n<span style=\"color: #000000; font-weight: bold;\">&lt;?<\/span> <span style=\"color: #009900;\">}<\/span><span style=\"color: #000000; font-weight: bold;\">?&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Come si pu\u00f2 notare, <strong>in caso di errore si aggiunge all&#8217;input<\/strong> (che ha <code>id<\/code> pari al valore passato) <strong>una classe css chiamata &#8220;errore&#8221;<\/strong> (nel mio caso, borda semplicemente di rosso il campo di input corrispondente).<\/p>\n<p>Una volta che ci siamo assicurati che tutti i campi obbligatori non siano vuoti, ci occupiamo con delle funzioni specifiche di <strong>controllare la correttezza della data e dell&#8217;email<\/strong> passate. Anche in questo caso, in caso di errore sar\u00e0 aggiunta la classe &#8220;errore&#8221;:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15\r\n16\r\n17\r\n18\r\n19\r\n20\r\n21\r\n22\r\n23\r\n24\r\n25<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"javascript\" style=\"font-family: monospace;\"><span style=\"color: #339933;\">&lt;!--<\/span> Data di nascita <span style=\"color: #339933;\">--&gt;<\/span>\r\n<span style=\"color: #000066; font-weight: bold;\">if<\/span><span style=\"color: #009900;\">(<\/span> <span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">2<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">3<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">!=<\/span><span style=\"color: #3366cc;\">\"\/\"<\/span> <span style=\"color: #339933;\">&amp;&amp;<\/span> $<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">2<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">3<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">!=<\/span><span style=\"color: #3366cc;\">\"-\"<\/span><span style=\"color: #009900;\">)<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\t<span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">5<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">6<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">!=<\/span><span style=\"color: #3366cc;\">\"\/\"<\/span> <span style=\"color: #339933;\">&amp;&amp;<\/span> $<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">5<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">6<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">!=<\/span><span style=\"color: #3366cc;\">\"-\"<\/span><span style=\"color: #009900;\">)<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\tisNaN<span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">0<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">2<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\tisNaN<span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">3<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">5<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\tisNaN<span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">6<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">10<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">0<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">2<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">&gt;<\/span><span style=\"color: #cc0000;\">31<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">3<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">5<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">&gt;<\/span><span style=\"color: #cc0000;\">12<\/span> <span style=\"color: #339933;\">||<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">substring<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #cc0000;\">6<\/span><span style=\"color: #339933;\">,<\/span><span style=\"color: #cc0000;\">10<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">&lt;<\/span><span style=\"color: #cc0000;\">1900<\/span>\r\n<span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">{<\/span>\r\n\tcheck<span style=\"color: #339933;\">=<\/span><span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">;<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">addClass<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">\"errore\"<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span><span style=\"color: #000066; font-weight: bold;\">else<\/span><span style=\"color: #009900;\">{<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#data_nascita'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">removeClass<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">\"errore\"<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span>\r\n\r\n<span style=\"color: #339933;\">&lt;!--<\/span> Email <span style=\"color: #339933;\">--&gt;<\/span>\r\n<span style=\"color: #003366; font-weight: bold;\">var<\/span> email_check<span style=\"color: #339933;\">=<\/span><span style=\"color: #009966; font-style: italic;\">\/^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-]{2,})+\\.)+([a-zA-Z0-9]{2,})+$\/<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #000066; font-weight: bold;\">if<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #339933;\">!<\/span>email_check.<span style=\"color: #660066;\">test<\/span><span style=\"color: #009900;\">(<\/span>$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#email'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">val<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">{<\/span>\r\n\tcheck<span style=\"color: #339933;\">=<\/span><span style=\"color: #003366; font-weight: bold;\">true<\/span><span style=\"color: #339933;\">;<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#email'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">addClass<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">\"errore\"<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span><span style=\"color: #000066; font-weight: bold;\">else<\/span><span style=\"color: #009900;\">{<\/span>\r\n\t$<span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">'#email'<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">removeClass<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">\"errore\"<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Infine, se tutto \u00e8 andato per il meglio e non si sono riscontrati errori, <strong>sar\u00e0 fatto il submit del form<\/strong> e saranno passati come post i valori inseriti dall&#8217;utente:<\/p>\n<div class=\"wp_syntax\">\n<table>\n<tbody>\n<tr>\n<td class=\"line_numbers\">\n<pre>1\r\n2\r\n3\r\n4<\/pre>\n<\/td>\n<td class=\"code\">\n<pre class=\"javascript\" style=\"font-family: monospace;\"><span style=\"color: #339933;\">&lt;!--<\/span> invio del form <span style=\"color: #000066; font-weight: bold;\">in<\/span> caso non siano stati riscontrati errori <span style=\"color: #339933;\">--&gt;<\/span>\r\n<span style=\"color: #000066; font-weight: bold;\">if<\/span><span style=\"color: #009900;\">(<\/span>check<span style=\"color: #339933;\">==<\/span><span style=\"color: #003366; font-weight: bold;\">false<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #009900;\">{<\/span>\r\n\tdocument.<span style=\"color: #660066;\">getElementById<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #3366cc;\">\"form_utente\"<\/span><span style=\"color: #009900;\">)<\/span>.<span style=\"color: #660066;\">submit<\/span><span style=\"color: #009900;\">(<\/span><span style=\"color: #009900;\">)<\/span><span style=\"color: #339933;\">;<\/span>\r\n<span style=\"color: #009900;\">}<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una semplice integrazione tra jquery e php per validare un form prima dell&#8217;invio. Oltre ai campi input comuni, vediamo funzioni specifiche per le email e le date.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[12,11,4,6],"class_list":["post-1172","post","type-post","status-publish","format-standard","hentry","category-php-mysql","tag-javascript","tag-jquery","tag-php","tag-script","cat-78-id"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1172"}],"collection":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/comments?post=1172"}],"version-history":[{"count":12,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1172\/revisions"}],"predecessor-version":[{"id":2326,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/posts\/1172\/revisions\/2326"}],"wp:attachment":[{"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/media?parent=1172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/categories?post=1172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manuelmarangoni.it\/sir-bit\/wp-json\/wp\/v2\/tags?post=1172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}