2009-10-14 9 views
1

J'ai une forme qui onsubmit appelle un ajaxFunction() ... Le ajaxfunction appelle une fonction php qui renvoie des résultats à partir d'une base de données mysql ...autre forme soumettre la question

problème est le bouton de retour ... I Voulez-vous que les utilisateurs puissent rechercher, puis effectuer une nouvelle recherche et utiliser le bouton Précédent pour revenir à la recherche précédente, mais cela ne fonctionnera pas ... Rappelez-vous que le formulaire ne l'envoie pas, il appelle une fonction ajax ...

Dois-je soumettre le formulaire pour pouvoir utiliser le bouton Précédent?

BTW J'ai essayé de soumettre le formulaire, mais la page vient d'être rafraichie et la fonction ajax n'est pas appelée et cela ne conduit à aucun résultat mysql car le fichier php n'a jamais été appelé !!!

Merci pour aider les gars ... et laissez-moi savoir si vous avez besoin de plus d'entrée ...

+0

Utilisez-vous les résultats pour modifier un div sur la page? Besoin de plus d'informations! – Buggabill

+0

Oui exactement, la div affiche les résultats ... ne peut pas comprendre comment soumettre le formulaire correctement ... –

Répondre

0

Je pense que les utilisateurs ayant frappé le bouton « retour » défaites à peu près au profit d'une forme ajax activée.

Juste avant d'appeler votre fonction ajax, effacez l'attribut innerHTML du div pour commencer avec une table rase. Ou pour permettre aux utilisateurs de le contrôler, fournir la fonctionnalité dans un bouton.

document.getElementById("divid").innerHTML = ""; 

ou jQuery:

$("#divid").html(""); 

EDIT/UPDATE: Je ne peux pas frapper le site pour une raison quelconque, mais ils utilisent probablement un peu jQuery ou Javascript pour attraper l'événement unload de la page. SO utilise quelque chose comme ça. Vous pouvez utiliser cet événement pour appeler les choses que j'ai mentionnées ci-dessus:

$(window).unload(function() { 
    $("#divid").html(""); 
}); 
+0

consultez ce site www.blocket.se Ils ont cette fonction, et ils utilisent Jquery que je ne comprends pas trop ... Comment ont-ils réussi à rendre cela possible? Au fait, pourriez-vous imaginer quel système de base de données ils utilisent quand ils s'y trouvent? –

+0

Vous ne savez pas si la détermination du type de base de données est possible .... – Buggabill

0

Vous pouvez soumettre le formulaire à une ancre nommée sur la page en cours qui ne provoquera pas une demande de serveur.

Votre formulaire:

<form action="#anchor"> 
... 
</form>

Votre formulaire destination de (sur la même page)

<a name="anchor">...</a>

Si vous faites cela, le bouton de retour naviguera à votre pré-formulaire présenter adresse dans la barre d'adresse sans rechargement de page.

MISE À JOUR: Essayez d'utiliser Really Simple History :)

+0

oui, mais si j'ignore la demande du serveur, le bouton de retour ne fonctionnera pas sur mon site ... –

+0

@camran: Découvrez "Histoire vraiment simple". J'ai mis à jour ma réponse avec un lien. – Asaph

+0

désolé ne comprends pas ce que vous voulez dire ... C'est ce que je veux: appuyez sur Entrée touche, ajax obtient des variables de listes et envoie des scripts php, php vérifie les variables contre db, le résultat est affiché dans un div sur le site ... –

Questions connexes