J'ai un formulaire de contact ouvert dans thickbox je veux lorsque l'utilisateur cliquez sur Soumettre les données de formulaire soumettre à mon php qui traitera ces données et montrer msg succès à thickbox. La page PHP est appelée mais comment vais-je obtenir des données de formulaire?formulaire de soumission dans thickbox
Répondre
Utilisez d'abord la fonction iframe de thickbox pour charger le formulaire dans la zone épaisse. Assurez-vous que vous avez jquery et thickbox chargé en mettant cela dans la tête HTML de votre document:
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript" src="/javascripts/thickbox.js"></script>
<link href="/stylesheets/thickbox.css" rel="stylesheet" type="text/css" />
Ensuite, mettre un lien sur la page des charges du formulaire de contact dans le iframe:
<a href="/contact_us_form.php?KeepThis=true&TB_iframe=true&height=400&width=600&modal=true" class="thickbox" title="Contact Us">Contact Us</a>
Votre formulaire doit avoir un balisage qui a cette structure de base:
<div id="content">
<form id="contact_us" action="/contact_us.php" method="POST">
...
</form>
</div>
Maintenant, utilisez jQuery pour votre formulaire via AJAX. Mettre cela dans la tête du document HTML:
<script type="text/javascript">
jQuery(function($){
$('#contact_us').submit(function(){
$.post($(this).attr('action'), function(html) {
$('#content').html(html)
})
return false
})
})
</script>
Ce que ceci est:
Ajoute une fonction à la forme à appeler lorsque le formulaire est soumis. Il renvoie false pour empêcher le comportement par défaut d'une soumission de formulaire.
Cette fonction de soumission effectuera une publication AJAX en utilisant l'action du formulaire que vous avez définie sur
contact_us.php
. Enfin, cela prendra le contenucontact_us.php
renvoie et remplacer le contenu de la div avec le contenu de l'ID avec cela.
Alors faites votre script contact_us.php
envoyer réellement l'e-mail ou créer un enregistrement de base de données, ce qu'il fait, et ont ensuite retourner ce HTML:
<p>Thank you for your submission!</p>
<p><a href="#" onclick="window.parent.tb_remove(); return false">Continue</a>
Évidemment, cela peut être tout ce que vous voulez, peu importe message que vous voulez voir l'utilisateur final. Le lien vous montre comment faire disparaître la fenêtre thickbox.
Pour publier des données de formulaire, il est nécessaire d'utiliser la fonction sérialiser de jQuery.
Modification de l'exemple ci-dessus:
$.post($(this).attr('action'), $(this).serialize(), function(html) {
$('#content').html(html);
});
- 1. montre jquery thickbox lors de la soumission du formulaire?
- 2. Soumission de formulaire HTML dans Opera
- 3. JQuery Ajax formulaire de soumission
- 4. jqModal Effet de fenêtre disparaît lorsque le formulaire Soumission
- 5. Soumission d'un formulaire plusieurs fois
- 6. Populate Collection de Struts2 Formulaire de soumission
- 7. erreur de soumission de formulaire php
- 8. Formulaire de prévention de soumission avec silverlight
- 9. Soumission de formulaire JQuery et contrôleur CakePHP
- 10. Problème avec la soumission directe de formulaire
- 11. soumission de formulaire jQuery/amélioration des effets?
- 12. Comment arrêter la soumission du formulaire?
- 13. Formulaire de soumission automatique après x millisecondes de clavier inactif
- 14. Drupal - Automatiser une soumission de formulaire de contenu
- 15. l'envoi de la valeur du bouton de soumission du formulaire?
- 16. Soumission de formulaire en Python sans attribut de nom
- 17. Comment activer la soumission de formulaire en utilisant l'événement onchange?
- 18. Capture tous les liens, y compris la soumission de formulaire
- 19. Envoi d'un formulaire ajax jQuery avec deux boutons de soumission
- 20. Soumission de formulaire dynamique en utilisant javascript - comment code élégant?
- 21. Flash + PHP pour faire un formulaire de soumission?
- 22. Désactiver 2 boutons sur la soumission de formulaire (ASP.NET)
- 23. Thickbox ne soumettra pas dans IE8
- 24. Échec de la soumission de formulaire dans IE6/7, fonctionne correctement dans FF3 et Chrome
- 25. Quitter la page avant la soumission d'un formulaire
- 26. Soumission d'un formulaire en utilisant PHP et AJAX via jQuery
- 27. requiredfield validator empêche la soumission d'un autre formulaire
- 28. Obtenir l'URL d'une page une fois la soumission d'un formulaire
- 29. $ _POST est vide après la soumission du formulaire
- 30. Fermer un bookmarklet après la soumission du formulaire
Merci beaucoup pjb3, vous son travail enfait m'a envoyé la solution complète. J'ai eu la ligne ci-dessus de la fonction js mais quel est le but des lignes ci-dessous fonction (html) { $ ('# content'). html (html) }) – Yasir
Il faut le corps de la réponse de content_us.php , qui est un extrait de HTML, et remplace le contenu de la div dans la fenêtre thickbox avec cette – pjb3