Bonjours à tous, je butte sur un problème sans doute très simple à résoudre :

Je cherche à faire un formulaire en Ajax où l'on est redirigé. Pour l'instant j'ai ça :

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
function maFonctionAjax(chaine) 
{ 
  var lesMots = chaine.value.split(' ');
  var nouvelleChaine = '[[afficher les articles]].[[titre:' + lesMots.join(']].[[titre:') + ']]';        
  var OAjax; 
  if (window.XMLHttpRequest) OAjax = new XMLHttpRequest(); 
  else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
  OAjax.open('POST',"http://www.generap.com/cgi-bin/execute.pl",true); 
  OAjax.onreadystatechange = function() 
  { 
      if (OAjax.readyState == 4 && OAjax.status==200) 
      { 
          if (document.getElementById) 
          {    
              if (OAjax.responseText =='true') { /* OK */ 
                    document.getElementById('msg').innerHTML='<font color=GREEN>'+OAjax.responseText+'</font>'; 
              }else{                             /* PAS OK */ 
                    document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>'; 
              } 
          }      
      } 
  } 
  OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
  OAjax.send('site_id=rap'+'command='+nouvelleChaine);                  
}
Mon but est de rediriger l'internaute sur cette page :

"http://www.generap.com/cgi-bin/execute.pl?site_id=rap&command="+nouvelleChaine

Où l'élément 'nouvelleChaine' correspond à ce que l'internaute à taper dans le formulaire avec chaque mot entre [[ ]]

Mon code html :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<form method="post" onsubmit="maFonctionAjax(this.keywords.value);return false" action=""> 
<input name="keywords" id="keywords" type="text" />
<input type="submit" value="envoyer"  />
</form> 
<div id="msg"></div>
J'ai donc tenté ceci :

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
<script type="text/javascript">
function maFonctionAjax(chaine) 
{ 
  var lesMots = chaine.value.split(' ');
  var nouvelleChaine = '[[afficher les articles]].[[titre:' + lesMots.join(']].[[titre:') + ']]';        
  var OAjax; 
  if (window.XMLHttpRequest) OAjax = new XMLHttpRequest(); 
  else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP'); 
  OAjax.send('POST',"http://www.generap.com/cgi-bin/execute.pl?site_id=rap&command="+nouvelleChaine,true); 
  OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');                  
}    
</script>
 
<form method="post" onsubmit="maFonctionAjax(this.keywords.value);return false" action=""> 
<input name="keywords" id="keywords" type="text" />
<input type="submit" value="envoyer"  />
</form>
Mais ça ne marche pas !

Quelqu'un peut-il m'aider ?