Bonjour,

Je vais essayer d'expliquer mon problème de façon rapide.

J'ai un formulaire pour créer un "personnage". Le formulaire ne sera pas envoyer, j'utilise Ajax pour envoyer les données. Voici le code une fois généré :

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
36
37
38
    <div id="div_popup_new_character" class="popup">
      <form id="frm_popup_new_character" name="new_character" style="width: 100%; height: 100%;" onsubmit="SaveNewCharacter();">
        <img id="img_popup_new_character_top" title="" alt="" src="./image/character_new_top.png" />
        <img id="img_popup_new_character_left_side" title="" alt="" src="./image/character_new_side.png" />
 
        <label id="lbl_popup_new_character_name" class="new_character" for="txt_popup_new_character_name">Nom du personnage</label>
        <input id="txt_popup_new_character_name" name="character_name" class="new_character" type="text" name="new_character_name" value="" />
 
        <label id="lbl_popup_new_character_class" class="new_character" for="txt_popup_new_character_class">Classe</label>
        <input id="txt_popup_new_character_class" name="character_title" class="new_character" type="text" name="new_character_name" />
 
        <label id="lbl_popup_new_character_race" class="new_character_selection" for="slt_popup_new_character_race">Race</label>
        <select id="slt_popup_new_character_race" name="character_race" class="new_character_selection" value="0">
<!-- Option généré via DB -->
        </select>
 
        <label id="lbl_popup_new_character_god" class="new_character_selection" for="slt_popup_new_character_god">Divinité</label>
        <select id="slt_popup_new_character_god" name="character_god" class="new_character_selection" value="0">
<!-- Option généré via DB -->
        </select>
 
        <label id="lbl_popup_new_character_first_heredities" class="new_character_selection" for="slt_popup_new_character_first_heredities">Hérédité X</label>
        <select id="slt_popup_new_character_first_heredities" name="character_fh" class="new_character_selection" value="0">
<!-- Option généré via DB -->
        </select>
 
        <label id="lbl_popup_new_character_second_heredities" class="new_character_selection" for="slt_popup_new_character_second_heredities">Hérédité Y</label>
        <select id="slt_popup_new_character_second_heredities" name="character_sh" class="new_character_selection" value="0">
<!-- Option généré via DB -->
        </select>
 
        <input id="btn_popup_new_character_cancel" class="new_character_selection" type="button" value="Annuler" onclick="HideNewCharacter();" />
        <input id="btn_popup_new_character_save" class="new_character_selection" type="submit" value="Enregistrer" />
 
        <img id="img_popup_new_character_right_side" title="" alt="" src="./image/character_new_side.png" />
        <img id="img_popup_new_character_bottom" title="" alt="" src="./image/character_new_top.png" />
      </form>
    </div>
Maintenant voici le JavaScript qui intercepte l'envoie du formulaire :

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
36
37
38
39
40
41
42
function SaveNewCharacter() {
  try {
    var frm = document.forms['new_character'];
 
    var name = frm.elements['character_name'].value;
    var title = frm.elements['character_title'].value;
    var race = frm.elements['character_race'].value;
    var god = frm.elements['character_god'].value;
    var fh = frm.elements['character_fh'].value;
    var sh = frm.elements['character_sh'].value;
  } catch(err) {
    alert(err.description);
    return false;
  }
 
  new Ajax.Request('http://gn.somedomain.com/ajax/savenewcharacter.php',
    {
      method: 'get',
      parameters: 
      {
        n: name,
        t: title,
        r: race,
        g: god,
        f: fh,
        s: sh
      },
      onSuccess: function(data) {
        if(data.responseXML != undefined) {
          alert('Personnage ' + name + 'créez avec succès');
        } else {
          alert('Nous avons eu quelques difficultés à compléter votre demande. S\'il-vous-plaît réessayez ou contactez nous à l\'adresse info@somedomain.com. Code erreur #SNC01.');
        }
      },
      onFailure: function() {
        alert('Nous avons eu quelques difficultés à compléter votre demande. S\'il-vous-plaît réessayez ou contactez nous à l\'adresse info@somedomain.com. Code erreur #SNCD00.');
      }
    }
  );
 
  return false;
}
Cette URL
retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<answer>
<success />
</answer>
mais je ne reçoit rien dans mon onSuccess. J'ai utilisé cette technique à plusieurs autres endroit dans mon code et c'est uniquement a cette endroit que sa ne marche pas. Quelqu'un a une idée d'ou vient mon problème ?