Récupération valeur d'un INPUT [HTML/XSL]

Résolu/Fermé
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 - 30 avril 2009 à 11:24
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 - 30 avril 2009 à 12:09
Bonjour,

Je vous présente mon problème :

Je fais un formulaire de recherche avec une barre de recherche où est tapée un mot par l'utilisateur.
Ensuite il y a un bouton a cliquer pour lancer cette recherche
Un fois la zone de texte rempli avec le mot rechercher et qu'on clique sur le input submit, on arrive sur la même page mais avec cette barre de recherche vide.

Savez vous comment je peux faire pour que après le clique je retrouve le mot ou l'expression tapée par l'utilisateur dans la nouvelle page??

Merci d'avance
Jérémy

9 réponses

Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 10
30 avril 2009 à 11:51
Si j'en ai, voici mon code concernant le formulaire de recherche :

<xsl:template name="form">
<div class="rec-full">
<form action="select" method="post" name="search">
<h2>Recherche</h2>
<div class="form">
<xsl:variable name="toto" select="/response/lst[@name='responseHeader']/lst[@name='params']/str[@name='q']"/>
<input type="text" class="large" maxlength="100" size="30" id="query" name="q">
<xsl:attribute name="value">
<xsl:value-of select="$toto"/>
</xsl:attribute>
</input>
</div><br/>
<div class="form">
Nombre de documents par page<br/>
<input type="radio" class="radio" name="rows" id="items_per_page5" value="5">
<xsl:if test="$rows = '5'">
<xsl:attribute name="checked">
<xsl:text>checked</xsl:text>
</xsl:attribute>
</xsl:if>
</input><label for="items_per_page20">5</label>
<input type="radio" class="radio" name="rows" id="items_per_page10" value="10">
<xsl:if test="$rows = '10'">
<xsl:attribute name="checked">
<xsl:text>checked</xsl:text>
</xsl:attribute>
</xsl:if>
</input><label for="items_per_page10">10</label>
<input type="radio" class="radio" name="rows" id="items_per_page20" value="20">
<xsl:if test="$rows = '20'">
<xsl:attribute name="checked">
<xsl:text>checked</xsl:text>
</xsl:attribute>
</xsl:if>
</input><label for="items_per_page20">20</label>
<input type="radio" class="radio" name="rows" id="items_per_page50" value="50">
<xsl:if test="$rows = '50'">
<xsl:attribute name="checked">
<xsl:text>checked</xsl:text>
</xsl:attribute>
</xsl:if>
</input><label for="items_per_page20">50</label>
</div><br/>

<div class="form">
<input type="hidden" value="xslt" name="wt"/>
<input type="hidden" value="0" name="start"/>
<input type="hidden" value="v4.xsl" name="tr"/>
<input type="hidden" value="true" name="facet"/>
<input type="hidden" value="2" name="facet.mincount"/>
<input type="hidden" value="category" name="facet.field"/>
<input type="hidden" value="doctype" name="facet.field"/>
<input type="hidden" value="title,url,summary,lastupdate" name="fl"/>

<input type="submit" value="Lancer la recherche" class="btn" id="button-send"/>
</div>
</form>
</div>
</xsl:template>

1
en fonction de la method de ton formulaire :
<form action ="#" methode="post ou get"></form>

tu recupert les variables de ton formulaire sur l'autre pas en fesant :

$_GET['nom de ton input'] ou $_POST['nom de ton input']
0
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 10
30 avril 2009 à 11:39
Merci de ta réponse,

Mais je travaille sur un page xsl qui traite tout.
Il n'y as pas une manière de le faire en html?
Car j'ai essayé en XSL mais ça ne fonctionne pas :(
0
c un fichier XML que tu traite ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 10
30 avril 2009 à 11:45
oui je traite le fichier XML qui contient mes réponses à la recherche.

Mais je viens de penser que dans ce même XML se trouve ma query (le mot cherché)
donc il me suffit de me positionner au bon nœud et de le récupérer et de l'afficher non?
0
ta pas un bout de code ?
0
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 10
30 avril 2009 à 11:58
Problème résolu :)

Il faut récupérer dans une variable la valeur qui se trouve dans le XML réponse et l'afficher comme j'ai fait (variable toto)

Merci de ton aide en tout cas :)
0
<input type="text" class="large" maxlength="100" size="30" id="query" name="q">

c'est le mot que tu recherche ca ? et tu le cherche dans le document XML c 'est bien ca ?
0
Chouk12 Messages postés 116 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 6 août 2010 10
30 avril 2009 à 12:09
Oui c'est le mot que je recherche, mais pas dans le document, je le recherche dans une base de données.

Mais pour le faire afficher, je me place sur le nœud ou il se trouve et je l'affiche en valeur de base dans l'input de façon à le retrouver quand j'ai lancé la recherche.

<xsl:variable name="toto" select="nœud où se situe le nœud />
<input type="text" class="large" maxlength="100" size="30" id="query" name="q">
<xsl:attribute name="value">
<xsl:value-of select="$toto"/> // Permet de mettre cette valeure dans le champs lors du chargement de la page
</xsl:attribute>
</input>
0