2011-04-06 6 views
0

J'ai un grand formulaire qui est divisé sur 3 pages (chaque page est autonome, c'est-à-dire ne contient qu'une partie du formulaire enroulé autour des étiquettes de formulaire). J'ai des boutons de page pour que l'utilisateur puisse naviguer entre les pages, par ex. page 1, page 2, page 3 et chaque page est chargée en fonction d'une variable de page dans l'url querystring-à-direjQuery soumettre le formulaire sur le lien cliquez sur

www.myurl.com?page=1 

Ce que je veux arriver est que lorsque l'utilisateur clique sur le bouton page du formulaire est soumis, mais également passé le bouton de la page cliqué dans un message/obtenir (je ne me dérange pas qui) valeur, par exemple next_page = page number clicked

Quelle est la meilleure façon de faire cela? J'utilise jQuery dans mon code pour une solution utilisant ce serait bon

+0

Au lieu de passer d'une page à une autre, seriez-vous prêt à envisager d'utiliser un formulaire sur une page, divisé en trois volets distincts? –

Répondre

2
$(document).ready(function() { 
    $('.page_button').click(function() { 
     var url = window.location.href; 
     var button = $(this); 
     $postData = $('#my_form').serialize() + '&save=Save'; 
     $.post(url, $postData, function(data) { 
      window.location.href = button.attr('href'); 
     }); 

     return false; 
    }); 
}); 
0

Avec cette $(window.location).attr('search') vous pouvez trouver page=1 Put cette valeur cachée comme ceci

var hidden_value = $(window.location).attr('search'); 
$('form').append('<input type="hidden" value="'+hidden_value+'" name="page_number" />'); 

Et enfin soumettre votre formulaire avec form.submit();

0

Ai-je raison de dire que vous n'avez pas seulement besoin de passer le numéro de page à la page suivante, mais aussi les données régulières d'un formulaire? Pourquoi ne pas avoir une entrée cachée que vous définissez à next_page_number avant que le formulaire ne soit soumis?

Cela ferait partie de POST-Data sur votre page suivante alors.

Questions connexes