Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2011, 15h25   #1
Invité régulier
 
Inscription : mars 2011
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 26
Points : 8
Points : 8
Par défaut Cliquer sur une image

Bonjour à tous,

Dans ma page HTML j'ai un formulaire sous forme de tableau, dans lequel se trouvent une liste déroulante, un input, et un troisième td dans lequel il y a deux boutons sous forme d'image, permettant d'ajouter ou supprimer la ligne (ou le tr).
Ces champs permettent d'effectuer une recherche, et mon but actuel est de reconstruire justement la dernière recherche. Pour cela j'ai besoin de simuler le clic sur le bouton plus afin d'ajouter les champs nécessaires. Or quand j'exécute mon script le clic n'est pas effectué, et la ligne suivante ne s'affiche donc pas, alors qu'en utilisant exactement la même ligne de code dans la console firebug, un nouvelle ligne apparaît.

Voici mon code (ne prenez pas peur, ce n'est que du grails )

le html (enfin gsp plutôt)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<g:formRemote name="form_search" action="search" update="show_result" url="${[controller: 'profil', action:'search']}"  >
        <table style="border:none; width: 600px;" id="table_search" >
          <tr id="tr_1">
            <td style="width: 170px; vertical-align: middle;">
              <select class="select_field_search" name="select_key">
                <optgroup label="Profil">
                  <option value="lastName">Nom</option>
                  <option value="firstName">Prénom</option>
                  <option value="telephone">Téléphone</option>
                  <option value="niveauEtudes">Niveau d'études</option>
                  <option value="anneesExp">Années d'experience</option>
                  <option value="competences">Competence</option>
                  <option value="mobilites">Mobilité</option>
                </optgroup>
                <optgroup label="Notes">
                  <option value="titre">Titre</option>
                  <option value="type">Type</option>
                  <option value="contenu">Contenu</option>
                </optgroup>
                
              </select>
            </td>
            <td class="input_field_search" style="width: 130px; vertical-align: middle;">
              <g:textField name="input_value" maxlength="50" value="" required="true" />
            </td>
            <td style="vertical-align: middle;">
              <img class="button_minus" src="${createLinkTo(dir: 'images', file: 'moins.png')}" alt="Grails" name="m" />
              <img class="button_plus" src="${createLinkTo(dir: 'images', file: 'plus.png')}" alt="Grails" name="p" />
            </td>
          </tr>
        </table>
        <div class="buttons" style="width: 170px;margin-left: 9px;">
          <span class="button"><g:submitButton name="search" id="search" class="search" value="${message(code: 'default.button.search.label', default: 'Lancer la recherche')}" /></span>
        </div>
      </g:formRemote>
et le js
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function recreateSearch(){
	$(".last_params").each(function(i){
                ...
		var button_plus = $("#tr_"+(i+1)+" .button_plus");
 
		if(i>0){
			//simulate add click
			//$(button_plus).click();
                        //la ligne ci-dessous fonctionne uniquement avec firebug
			$("#tr_1 .button_plus").click(function(){
				return false;
			});
			console.log("i="+i);
                }
                 ...
});
jackRackham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 17h29   #2
Invité régulier
 
Inscription : mars 2011
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 26
Points : 8
Points : 8
Finalement j'ai fait un setTimeout(function(){moncode..}, 10) et ça marche. Apparemment l'image n'avait pas fini de charger malgré le placement du JS en bas de la page.
jackRackham est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h14.


 
 
 
 
Partenaires

Hébergement Web