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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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);
                }
                 ...
});