transmettre le formulaire jquery poste
bonjour a tous
Comme l'indique le titre je veux transférer les données du formulaire au contrôleur en utilisant jquery.
/*=======moteur ajax========*/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
$('#bcli').click(
function ajcli(){
var n = $('#nomcli').val(); var a = $('#adrcli').val(); var t = $('#telcli').val(); var m = $('#emailcli').val();
alert(n+" "+a);
$.ajax({
type: 'POST',
url: "<?php echo $this->url(array('controller'=>'index','action'=>'ajcli'));?>",
data: "nomcli = ess"+n+"& adrcli = dsdf"+a+"& telcli = "+t+ "& emailcli = dsfvds" + m ,
dataType: 'text',
success: function ajcli(rep){
$('#okcli').html(rep);
},
error: function(){alert('erreur kasiko');}
});
}); |
/*=========formulaire========*/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
<form name="formcli" method="post" action="#">
<p>
<label>nom
<input type="text" name="nomcli" id="nomcli">
</label>
</p>
<p>
<label>adresse
<input type="text" name="adrcli" id="adrcli">
</label>
</p>
<p>
<label>telephonne
<input type="text" name="telcli" id="telcli">
</label>
</p>
<p>
<label>email
<input type="text" name="emailcli" id="emailcli">
</label>
</p>
<p>
<input id="bcli" type="submit" value="enregistrer"/><input type="reset" value="effacer"/>
</p>
</form> |
/*====controlleur======*/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public function ajcliAction() {
echo 'test';
$client = new Model_Tclients();
$lc = $client->createRow();
$lc->nom = $this->_request->getParam('nomcli','defnom');
$lc->adr = $this->_request->getParam('adrcli','defadr');
$lc->tel = $this->_request->getParam('telcli','deftel');
$lc->mail = $this->_request->getParam('emailcli','defmail');
$lc->nom = $_POST['nomcli'];
$this->view->resultat = $lc->save();
} |
Mon problème c'est que je n'arrive pas à récupérer les données au niveau du contrôleur.
vérif de la soumission du formulaire
Bonjour,
Commence par vérifier que les données sont bien envoyées.
Un simple
file_put_contents('post', print_r($_POST,true ) ) ;
dans ton controlleur fera l'affaire et va créer un fichier contenant le récap des données envoyées en post au niveau du répertoire où est rangé ton controlleur.
Tu peux aussi utiliser
file_put_contents('post', print_r($this->getRequest()->getParams,true ) ) ;
pour être plus "ZF".
De plus $this->_request est déconseillé, le _ devant le nom indique par convention une propriété encapsulée(private), je ne peux que te conseiller très fort de passer par la méthode accesseur ou getter correspondante
getRequest()
Xavier