ENVOI DE FORMULAIRE AVEC DE L'AJAX

Signaler
Messages postés
454
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
18 avril 2007
-
orugari
Messages postés
1
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
5 avril 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41732-envoi-de-formulaire-avec-de-l-ajax

orugari
Messages postés
1
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
5 avril 2011

Bonjour,
Je l'ai integre a mon site mais... cela ne donne rien...
En reprenant legerement le code, l'action reste sur "en cours..." et ne fait rien.

//submit
function SendForm(){
$('BTsubmit').disabled='disabled';
$('BTsubmit').value='en cours ...';
$('message').disabled='disabled';
$('email').disabled='disabled';
new Ajax.Request('envoie_message.php',{
method: 'post',
asynchronous: true,
contentType: 'application/x-www-form-urlencoded',
encoding: 'UTF-8',
parameters: { pseudo : $F('pseudo'), time: $F('time'), message: $F('message')},
onSuccess: function(){MailOK();},
onFailure: function(){}
});
function MailOK(){
$('BTsubmit').style.visibility = 'hidden';
$('BTsubmit').style.display = 'none';
$('textOK').style.visibility = 'visible';
$('textOK').style.display = 'block';
}
}

et envoie_message.php

<?
$message = $HTTP_POST_VARS["message"];
$pseudo = $HTTP_POST_VARS["pseudo"];
$time = $HTTP_POST_VARS["time"];

if($message !="")
{

//traitement du message
etc...

Je ne comprends absolument rien...
jamelisi
Messages postés
2
Date d'inscription
vendredi 15 décembre 2000
Statut
Membre
Dernière intervention
3 février 2009

j'ai un problème :ce message d'erreur est affiché:

$ is not defined
[Break on this error] $('BTsubmit').value='en cours ...';
COMMENT JE FAIT?
zabiru
Messages postés
1
Date d'inscription
jeudi 9 août 2007
Statut
Membre
Dernière intervention
8 janvier 2008

Merci beaucoup pour cette source! C'est exactement ce qu'il me fallait.
cs_Klephte
Messages postés
21
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
7 octobre 2011

Comme tu le signales fort bien, le header de la requête doit obligatoirement contenir multipart/form-data, ne l'ayant pas trouvé dans le code source de Prototype.js, je ne peux qu'en déduire que l'upload de données binaires n'est pas implémenté dans Prototype de plus s'agissant de l'accès par des scripts JS à des ressources locales, la faisabilité pour des raisons de sécurité me semble fort incertaine , bien que cet exemple http://www.captain.at/ajax-file-upload.php semble prouver le contraire.