J'ai un magasin shopify et je souhaite ajouter un formulaire sur la page du produit Le problème est lorsque je veux soumettre un de l'utilisation de Ajax avec un lien externe, mais je veux rester sur la même page, c'est sur le lien externe < pré> xxx pré>
p>
et ceci est la partie JS EN AJAX p> p> Je veux le page pour rester sans rafraîchissement et obtenir les résultats sur la même page p> p>
3 Réponses :
Essayez ceci,
$( "#your_form_id" ).submit(function(event) { event.preventDefault(); $.ajax({ beforeSend: function () { //something to do before ajax call }, complete: function () { //something to do after ajax call }, type:"POST", data:$(this).serialize(), url:"<?php echo $url;?>", success:function(data){ $('#divId').html(data); // id where you want to retrive and show your data } }); });
changer le formulaire comme celui-ci. p> et modifier la fonction comme ceci, P> function submitForm(){
var formData = $('#fastform').serialize();
$.ajax({
type: 'POST',
url: $('#fastform').attr('action'),
data: formData
}.done(function(response) {
// Make sure that the formMessages div has the 'success' class.
$(formMessages).removeClass('error');
$(formMessages).addClass('success');
// Set the message text.
$(formMessages).text("votre commande et bien traiter");
// Clear the form.
$('#name').val('');
$('#email').val('');
$('#message').val('');
})).fail(function(data) {
// Make sure that the formMessages div has the 'error' class.
$(formMessages).removeClass('success');
$(formMessages).addClass('error');
// Set the message text.
if (data.responseText !== '') {
$(formMessages).text(data.responseText);
} else {
$(formMessages).text('Oops! il\'ya un problem');
}
});
return false;
}
Merci pour la réponse mais toujours le même problème de la manière dont je travaille sur le site Web Shopify et je modifie la page du produit, mais j'ai vu beaucoup de gens ont fait cela sur les magasins
Essayez ce code:
$(function (){ $('form').bind('submit', function () { $.ajax({ type: 'post', url: 'libs/send.php', data: new FormData($('form')[0]), cache: false, contentType: false, processData: false, success: function () { alert("Data has been successfully inserted"); } }); return false; }); });
même problème, je pense que quelque chose ne va pas avec Shopify J'envoie la demande d'Ajax et il envoie sans l'utiliser
OK, pouvez-vous essayer ce code: $ (document) .Ready (fonction (fonction () {$ ("# addcate"). Soumettre (fonction (e) {var données1 = $ ("# données1 '). Val (); Var données = $ ('# données'). Val (); $ .ajax ({URL: "libs / send.php", méthode: "post", données: {data1: data1, données: données}, succès: fonction (réponse) {alerte (réponse);}});});});
Essayez de supprimer
action = "http://website.fun/bianca/doc.php" code> sur votre formulaire HTML.
mais veulent gérer la forme sur cette page qui existe sur une URL externe
Vous pouvez définir l'URL AJAX sur
http://website.fun/bianca/doc.php code> en tant que chaîne.
@AbDessamadben Avez-vous essayé d'utiliser Onclick = "retour false" sur le bouton d'envoi
oui j'ai essayé et le même problème
Pourquoi ne pas mettre votre code dans une fonction SummerForm () {// Code renvoie false;} et sur onclick = "SoumettreForm (); renvoyer false;"
Il y a une erreur dans votre code JS. Ajouter
) code> juste après
} code> à la ligne
}. Terminé (réponse (réponse) { code> et supprimer un
) code> rangée
)). échouer (fonction (données) { code>
J'ai corrigé les erreurs JS mais j'ai toujours le même problème