Un petit problème qui me pose... souci !

Un petit problème qui me pose... souci ! - HTML/CSS - Programmation

Marsh Posté le 03-07-2007 à 20:15:01    

Salut les gens ! :hello:  
 
Un petit problème qui va peut être vous paraître simplissime mais sur lequel je pêche.
J'ai réalisé un petit moteur de recherche problème qui lorsqu'il est validé doit - théoriquement - afficher les résultats dans un div par le biais d'xmlhttprequest... Jusque là tout va bien, enfin non : je m'explique.
 
Voici le form :

Citation :


<form method="get" style="display:inline">
<input type="text" id="w" class="inpSEARCH" />  
<input type="button" value="Search !" style="padding:3px; padding-left:8px; padding-right:8px" onclick="SearchOnSubmit();" />
</form>


 
Voici le script qui est appelé par le click sur le button.
 

Citation :


<script language="javascript" type="text/javascript">
function SearchOnSubmit() {
 var w = document.getElementById('w').value;
 startRequest('f/search.php?w='+w,'DIVcontent');
}
</script>


 
Le startRequest() - fonction xmlhttpRequest qui actualise le div fonctionne parfaitement.
Seul problème le w (case où on entre le terme à rechercher) est null (pourtant il me semble bien avoir instancié la variable par document.getElementById('w').value ). Je ne vois donc pas d'où peut venir le problème...
 
En espérant que vous puissiez éclairer ma lanterne ;) Merci !!! :D

Reply

Marsh Posté le 03-07-2007 à 20:15:01   

Reply

Marsh Posté le 03-07-2007 à 21:49:57    

Rien a voir avec le bug connu de document.getELementById() sous IE? Ca marche sous FF ou bien?

Reply

Marsh Posté le 03-07-2007 à 21:54:30    

Nop ça ne marche pas sous FF :D


Message édité par Mxtrem le 03-07-2007 à 21:54:41
Reply

Marsh Posté le 03-07-2007 à 21:59:56    

tiens :


 
essai par toi même :/

Reply

Marsh Posté le 04-07-2007 à 15:01:00    

Problème réglé... sans aucune solution :D
Hier cela ne marchait pas, aujourd'hui oui... :/ Bizzare :??:

Reply

Marsh Posté le 04-07-2007 à 22:40:51    

Ce ne serait pas mieux d'accéder à la zone de saisie en utilisant l'arborescence DOM du document plutôt qu'un document.getElementById() ?? (bon, il faudrait donner un nom à ton form et à ton input !)
 
Ici, ça donnerait ça :  
 

Code :
  1. <form name="nom_form" method="get" style="display:inline">
  2. <input name="nom_input" type="text" id="w" class="inpSEARCH" /> 
  3. <input type="button" value="Search !" style="padding:3px; padding-left:8px; padding-right:8px" onclick="SearchOnSubmit();" />
  4. </form>
  5. <!--et dans SearchOnSubmit : -->
  6. var w = document.nom_form.nom_input.value;

Message cité 1 fois
Message édité par kao98 le 04-07-2007 à 22:43:26

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 05-07-2007 à 09:29:36    

kao98 a écrit :

Ce ne serait pas mieux d'accéder à la zone de saisie en utilisant l'arborescence DOM du document plutôt qu'un document.getElementById() ?? (bon, il faudrait donner un nom à ton form et à ton input !)


 
Il me semble que la méthode DOM moderne c'est justement getElementById. L'attribut "name" de la balise "form" n'est gardé que pour des raisons de rétro-compabilité, mais est obsolète (le W3C recommande de le remplacer par un id - voir http://www.w3.org/TR/html4/interac [...] l#h-17.3). Du coup document.form.element est gardé aussi, mais est lui aussi obsolète.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 05-07-2007 à 11:56:02    

Ok, ben merci pour l'info ;)


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 05-07-2007 à 13:07:24    

Alors, après lecture de plein de pages du w3c, il semblerait que, effectivement, l'attribut Name d'un objet FORM soit déconseillé. En revanche, un objet INPUT doit en avoir un (comme indique [url=http://www.w3.org/TR/html4/interact/forms.html#control-name]ici par exemple[url]).
 
Ainsi, accéder à document.forms[x].nom_element ne semble pas si obsolète que ça. Cependant, je n'ai pas trouvé la méthode actuellement conseillée pour identifier un objet FORM


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 05-07-2007 à 14:09:21    

Je n'ai pas le moindre souçi avec FF et IE7, IE6, et le navigateur mac (je ne sais plus le nom :sweat:) donc je pense que ce doit être la bonne méthode.
 
Quel est le correspondant de "event" sous firefox ?  
En observant le code source vous verrez qu'il est possible de faire entrée dans INPUT et valider le formulaire (alors qu'il s'agit d'un button et pas d'un submit) mais ce code ne fonctionne QUE sur IE :/ FF n'aime apparemment pas event :/ (jpense que ça doit être ça)

Reply

Marsh Posté le 05-07-2007 à 14:09:21   

Reply

Marsh Posté le 05-07-2007 à 17:37:38    

Sous Opera, ça fonctionne (entrée directement dans la zone de saisie).
 
Sous mac, c'est safari ;)


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 05-07-2007 à 19:01:11    

Oki merci kao ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed