Je me suis rendu fou pour essayer de faire ce qui semble si simple. J’ai un formulaire où je demande le code postal. J’utilise colorbox pour faire apparaître une lightbox avec une iframe après avoir entré votre code postal. Je dois passer la valeur du code postal du formulaire à l’URL source de l’iframe. Mon code de formulaire ressemble à ceci:
Enter your zip code to begin your search:
Mon code js ressemble à ceci:
$(document).ready(function(){ $("a[rel=zipformSubmit]").click(function() { $("form#submit").submit(function(e) { var zip = $('#zip').attr('value'); colorbox({href: "?zip=" + zip, iframe:true, innerWidth:800, innerHeight:600}); }); }); });
le résultat final devrait être un iframe chargé comme … src = “/ form.htm? zip = 92108”
la valeur 92108 doit provenir de l’entrée de formulaire appelée ‘zip’
Je n’arrive pas à obtenir la valeur du code postal à transmettre correctement. Peut-il en tout cas me montrer ce que je fais mal?
Merci!
Vous devez utiliser preventDefault () pour empêcher le navigateur de suivre simplement le lien. Vous insérez également vos actions dans l’événement de soumission de votre formulaire, mais vous n’avez pas de bouton de soumission et vous ne déclenchez pas l’événement de soumission. ne tire jamais. Dans ce cas, vous n’avez pas besoin de soumettre le formulaire. Vous pouvez donc simplement utiliser l’événement link click pour ouvrir l’iframe à l’aide des données saisies dans le formulaire. Ainsi
Remarque: une validation serait utile if (zip.length > 0) { }
etc
Ajouté après le commentaire:
Pour importer votre $_GET['Source']
vous devez append un champ de formulaire caché:
Enter your zip code to begin your search:
alors faites le js:
sortinge cela, j’ai changé
var zip = $('#zip').attr("value");
avec ça
var zip = $('#zip').val();
Code JS: