Ciao a tutti .. è da poco che mi sono messo nel mondo wordpress/plugin!!
Ora come ora ho un po di confusione .. ho letto tutto il materiale di supporto di wordpress riguardante AJAX in plugin, ma purtroppo il problema è rimasto.
Qual'è il problema ?
Nulla, la pagina form.php non comunica i dati del form e quindi non stampa gli eventuali errori presenti in esso (ad esempio mancanza compilazione campo).
Ecco il mio codice:
form.php
<!--carico jquery-->
<script type='text/javascript' src='jquery.js'></script>
<!--url script ajax-->
<script type='text/javascript'>
<?php echo "ajaxurl = '".admin_url('admin-ajax.php')."';" ?>
</script>
<script type='text/javascript'>
jQuery('#invia_richiesta').click(function(e) {
my_event_click(this);
});
function my_event_click(clicked){
jQuery.ajax({
type: "POST",
url : ajaxurl,
data: {
action:'form',
},
//in caso di successo
success:function(data) {
jQuery("#risultato").append(data);
},
//in caso di errore
error: function(error) {
jQuery("#risultato").append('qualcosa non va bene');
}
});
}
</script>
<?php
add_action('wp_ajax_form','my_ajax');add_action('wp_ajax_nopriv_form','my_ajax');
function ip_output_contact_form(){
?>
<div class="ip_container">
<div id="risultato"></div>
<form id="contatto_assistenza" name="contatto_assistenza" >
<p>Nome:</p>
<input type="text" name="nome" id="nome" />
<p>Cognome:</p>
<input type="text" name="cognome" id="cognome" />
<p>La tua email:</p>
<input type="text" name="tua_email" id="tua_email" />
<p>Telefono:</p>
<input type="text" name="tuo_telefono" id="tuo_telefono" />
</br></br>
<button id="invia_richiesta" name="invia_richiesta">Invia richiesta</button>
</form>
</div>
<?php
}
add_shortcode('form', 'ip_output_contact_form');
function my_ajax() {
$nome = $_POST['nome'];
if($nome == ""){
echo "Campo nome obbligatorio";
}
die();
}
?>
Spero davvero tanto che qualcuno mi dica dov'è l'errore o (per me) gli errori.
Ringrazio in anticipo!!