[AJAX] Un formulaire en Ajax
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:
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:
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:
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 ?