2009-07-27 9 views
0

Comment puis-je capturer l'événement de soumission dans ce scénario particulier (j'utilise Kohana) :?capture submit event

fonction de contrôleur

(SWO/test):

echo "Form succesfully submitted.<br/>"; 
$min = $_POST['price1']; 
$max = $_POST['price2']; 
echo "Minimum Value:" . $min . "<br/>"; 
echo "Maximum Value:" . $max; 

$q = new Swo_Model; 
$result = $q->searchRange($min, $max); 
echo Kohana::debug($result); 
$view= new View('template'); 
$view->slider = new View('slider'); 
$view->content = new View('advsearch'); 
$view->content->list = $result; 

$view->render(TRUE); 

VOICI MON JQUERY SCRIPT

$(document).ready(function() 
{ 
$('#slider').slider({ 
    min:0, 
    steps: 50, 
    max:300, 
    range: true, 
    change: function(e,ui){ 
     $("#min").text("$" + ui.values[0]); 
     $("#max").text("$" + ui.values[1]); 
     $("input[name='price1']").val(ui.values[0]); 
     $("input[name='price2']").val(ui.values[1]); 
     $("#advance").trigger("submit"); 
    } 
}); 
}); 

J'ai un curseur. Je le fais glisser à une valeur particulière, puis déclenche un formulaire de soumission via jquery. Ce que je veux faire est de charger la sortie de la fonction testSubmit vers une région spécifique de ma page, sans que le curseur ne soit actualisé. J'ai essayé de le faire avec le submit (function() {}) mais en vain.

Répondre

1

Vous devez empêcher l'événement de bouillonner - ce qui se passe est que votre fonction est en cours d'exécution, puis le formulaire est toujours soumis.

Une solution rapide est

<form ... onsubmit="return myfunction()"> 

Et maFonction, return false, qui arrêtera la soumettre leur publication. Vous pouvez même piéger des erreurs dans votre jquery et renvoyer true pour provoquer la soumission correcte si quelque chose ne va pas, ce qui signifie une dépréciation gracieuse en cas de problème.

+0

un collègue ici sur le lieu de travail a suggéré que j'utilise la fonction ajax() à la place. Mais n'y a-t-il pas moyen de le faire sans utiliser la fonction ajax()? –