J'utilise le plugin Form JQuery.Récupération des données soumises via JQuery Form Plugin dans cakePHP
Comment puis-je obtenir la valeur affichée dans le contrôleur cakephp?
Mon code est comme ceci:
<?php echo $form->create('Result',array('action'=>'submit'));?>
//some input text fields,texarea fields
<?php echo $form->end('submit');?>
<script>
$(document).ready(function(){
var options = {
beforeSubmit: showRequest, // pre-submit callback
success: showResponse, // post-submit callback
url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
type: 'POST',
resetForm: true // reset the form after successful submit
};
$('#ResultSubmit1Form').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
});//ready
// pre-submit callback
function showRequest(formData, jqForm, options) {
var queryString = $.param(formData);
alert('About to submit: \n\n' + queryString);
$.ajax({
type: "POST",
url: "http://localhost/cake_1.2.1.8004/index.php/results/submit1",
data: "str="+queryString,
success: function(msg){
alert("Data Saved: " + msg);
}
});
return true;
}
// post-submit callback
function showResponse(responseText, statusText) {
alert('status: ' + statusText + '\n\nresponseText: \n' + responseText +
'\n\nThe output div should have already been updated with the responseText.');
}
</script>
Et dans mon contrôleur CakePHP:
<?php
class ResultsController extends AppController
{
var $name = 'Results';
var $helpers=array('Html','Ajax','Javascript','Form');
var $components = array('RequestHandler','Email');
var $uses=array('Form','User','Attribute','Result');
function submit($id = null) {
$str=$_POST['str'];
echo "POSTED value ".$str;
}
}
il est seulement l'affichage _method=POST
au lieu de _method=POST&name=x&age=22
.
Mais si j'ai utilisé $_POST['Name'];
(où Name
est l'attribut name
du champ de saisie1), il affiche le x que j'ai tapé dans le champ de saisie1.
Comment obtenir ce que je veux?
Ya Mais j'ai besoin de publier cette valeur directement.Comme au lieu de retriving la valeur $ _POST ['fom'] ['Nom'] puisque le contrôleur ne saura pas quels sont tous les champs sont là dans la page .. Le formulaire peut contenir différents champs dans chaque formulaire ... – useranon
Je ne comprends pas ce que vous dites. toutes les valeurs affichées iront à $ this-> params et les champs de saisie correctement nommés iront à $ this-> data. ce plugin envoie en effet une requête POST du navigateur au contrôleur et vous devez traiter le formulaire. – zam3858
pouvez-vous s'il vous plaît dire comment accéder à ces données postées. Je l'ai essayé avec echo $ _POST ['str']; aussi je l'ai essayé avec echo http_build_query ($ _ POST ['str']); echo http_build_str ($ _ POST ['str']); Mais la réponse ne vient pas .. Où ma valeur str est name = a & age = 22 – useranon