Formulaire de contact

Résolu/Fermé
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 - Modifié par valttt le 14/03/2012 à 09:08
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 - 14 mars 2012 à 17:18
Bonjour,

Je viens de créer mon formulaire de contact avec Creaform, il m'est impossible de rentrer un espace, un signe, un nombre dans le <textarea>, pour que mon mail soit validé et envoyé.
Ne pouvant pas mettre d'espace, les mots doivent-être collés les uns aux autres, ce qui est absurde.

Il y a quatre fichiers pour ce formulaire:

- Formulaire.htm
- Formulaire.js
- Envoi.php
- mimemail.php

Les codes sont tellement long que je ne peux tous les mettre (sinon, ce serait illisible).

Merci de m'indiquer si possible de quel fichier peut venir l'erreur.
Je pense que l'erreur vient de formulaire.js, mais comme je n'y connais rien en java, il m'est impossible de voir d'où cela vient.


var IE = (document.all) ? 1 : 0;
var DOM = 0; 
if (parseInt(navigator.appVersion) >=5) {DOM=1};

        function txtShow( cId, txt2show ) {
            
            // Detect Browser

            if (DOM) {
		var viewer = document.getElementById(cId);
                viewer.innerHTML=txt2show;
            }
            else if(IE) {
                document.all[cId].innerHTML=txt2show;
            }
        }//txtshow
        
        function getTxt( cId ) {
            var output = "";
            // Detect Browser
            if (DOM) {
		var viewer = document.getElementById(cId);
		output = viewer.value;
            }
            else if(IE) {
                output = document.all[cId].value;
            }
            return output;
        }//getTxt

function countChars(cBoxName, cTxtName, maxKeys) 
{
  var str = new String(getTxt(cBoxName));
  var len = str.length;
  var showstr = len + " caractéres  sur " + maxKeys + " de saisis";
  if (len > maxKeys) showstr += '<br>Des informations peuvent être perdues.';
  txtShow( cTxtName, showstr );
}

/*     Fonctions de contrôle de champs de formulaires coté client   */

//Diverses expressions régulières utiles

// Expressions régulières de test de longueur
var regExpEmpty=/^$/g;					// Accepte une chaine vide
var regExp8Chars=/^[0-9a-zA-Z]{8,}$/g;			// Accepte une chaine d'au moins 8 carctères alphanumeriques (pour un mot de passe par exemple).

// Expressions régulières de test de type de caractère
var regExpAlphanumeric=/[0-9a-zA-Z]+/g;			// Accepte une chaine alphanumérique
var regExpAlphanumericWithWhitespace=/[0-9a-zA-Z ]+/g;	// Accepte une chaine alphanumérique + ' '
var regExpAlphabetic=/[a-zA-Z]+/g;			// Accepte une chaine alphabétique
var regExpNumeric=/[0-9]+/g;				// Accepte une chaine numérique

// Expressions régulières de test de type
var regExpInt=/^[0-9]+$/g;				// Accepte une chaine de type 'int'
var regExpDouble=/^[-+]?[0-9]+(\.[0-9]+)?$/g;		// Accepte une chaine de type 'double'
var regExpFloat=/^[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?$/g;	// Accepte une chaine de type 'float'
var regExpTime=/^([01][0-9]|2[0123])\:([012345][0-9])(\:([012345][0-9])(.([0-9]{3})+)?)?$/g;		 // Accepte une chaine de type 'time'. Ex : 12:51 ou 21:45:35.654
var regExpFrenchDate=/^(0[1-9]|[12][0-9]|3[01])[\- \/\.](0[1-9]|1[012])[\- \/\.](19|20)\d\d$/g;  // date au format jj/mm/aaaa ou jj-mm-aaaa ou jj mm aaaa ou jj.mm.aaaa avec aaaa compris entre 1900 et 2099.
var regExpEnglishDate=/^(19|20)\d\d[\- \/\.](0[1-9]|1[012])[\- \/\.](0[1-9]|[12][0-9]|3[01])$/g; // idem ci-dessus mais format anglais (Ex : aaaa/mm/jj)
var regExpBoolean=/^true|false$/g;			// Accepte une chaine de type 'boolean'

// Expressions régulières de test de types administratifs français
var regExpCodePostal=/^([A-Z]+[A-Z]?\-)?[0-9]{1,2} ?[0-9]{3}$/g;							// Accepte une chaine de type 'code postal'. Ex : F-33370 ou 33 370 ou 33370 ou F-1 370
var regExpTelephoneFixe=/^(01|02|03|04|05|08|09)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230
var regExpTelephoneFixePF=/^(01|02|03|04|05|08|09|06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'fixe'. Ex : 01.34.12.52.30 ou 0134125230

var regExpTelephonePortable=/^(06)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;			// Accepte un numero de téléphone de type 'portable'.
var regExpTelephoneNational=/^(0[1234568])[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g;		// Accepte un numero de téléphone de type 'national' y compris numéros en '08'.
var regExpTelephoneInternational=/^(\(\+[0-9]{2}\))[ \.\-]?[0-9][ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/g; 	// Accepte un numero de téléphone de type 'international'. Ex : (+33) 1 34 12 52 30

var regExpNumeroSecuriteSociale=/^[12][ \.\-]?[0-9]{2}[ \.\-]?(0[1-9]|[1][0-2])[ \.\-]?([0-9]{2}|2A|2B)[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{2}$/g; // Accepte un numero de sécurité sociale français. Ex : 1 85 34 33 354 450 45

var regExpTVAIntracommunautaire=/^[A-Z]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}$/g;		// Accepte un numero de TVA Intra-communautaire. Ex : FR 02 254 254 254
var regExpNumeroSiren=/^[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}$/g;							// Accepte un numero SIREN. Ex : 254 254 254
var regExpNumeroSiret=/^[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{3}[ \.\-]?[0-9]{5}$/g;					// Accepte un numero SIRET. Ex : 254 254 254 12345
var regExpCodeApe=/^[0-9]{2}[ \.\-]?[0-9]{1} ?[a-zA-Z]$/g;								// Accepte un code APE. Ex : 25.4Z

// Expressions régulières de test de types liés à internet

var regExpEmailAdress=/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/g;										// Accepte une adresse email. Ex : toto@toto.com
var regExpIpAdress=/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/g;	// Accepte une adresse ip. Ex : 192.168.0.1
var regExpDomainName=/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/g;													// Accepte un nom de domaine. Ex : toto.com
var regExpUrl=/^(((ht|f)tp(s?))\:\/\/)?(([a-zA-Z0-9]+([@\-\.]?[a-zA-Z0-9]+)*)(\:[a-zA-Z0-9\-\.]+)?@)?(www.|ftp.|[a-zA-Z]+.)?[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,})(\:[0-9]+)?\/?/g;			// Accepte une url ftp, http ou https, avec ou sans login/mot de passe, avec ou sans numero de port. Ex : http://www.toto.com, ftp://toto:toto@ftp.toto.com:21/

var regExpHexColor=/^#[0-9A-Fa-f]{6}$/g; // Accepte une couleur hexadécimale

//Les deux fonction suivantes servent à identifier si une chaine de caractère est compatible ou non avec une expression régulière passée en paramètre
function matchRegularExpression(valeur, regularExpression)
{
	var resultat = valeur.match(regularExpression);
	if(resultat!=null && resultat.length==1) return true;
	else return false;
}

function doesntMatchRegularExpression(valeur, regularExpression)
{
	if(matchRegularExpression(valeur, regularExpression)) return false;
	else return true;
}

/*
les fonctions de contrôle suivantes prennent toutes comme argument la valeur de l'attribut "value" d'un champ de formulaire de type "text" ou "password"
*/
function isEmpty(valeur)
{ 
	return matchRegularExpression(valeur, regExpEmpty);
}

function isNotEmpty(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpEmpty);
}

function isNot8CharsLength(valeur)
{
	return doesntMatchRegularExpression(valeur, regExp8Chars);
}

function isNotAlphanumeric(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpAlphanumeric);
}

function isNotAlphanumericWithWhitespace(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpAlphanumericWithWhitespace);
}

function isNotAlphabetic(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpAlphabetic);
}

function isNotNumeric(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpNumeric);
}

function isNotInt(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpInt);
}

function isNotDouble(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpDouble);
}

function isNotFloat(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpInt);
}

function isNotBoolean(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpBoolean);
}

function isNotTime(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpTime);
}

function isNotDate(valeur, mode)
{
	switch (mode)
	{
		case "fr" : 
			return doesntMatchRegularExpression(valeur, regExpFrenchDate);
			break;
		case "en" :
			return doesntMatchRegularExpression(valeur, regExpEnglishDate);
			break;
		default : 
			return doesntMatchRegularExpression(valeur, regExpFrenchDate);
			break;
	}
}

function isNotCodePostal(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpCodePostal);
}

function isNotTelephone(valeur, mode)
{
	switch (mode)
	{
		case "fixe" : 
			return doesntMatchRegularExpression(valeur, regExpTelephoneFixe);
			break;
		case "port" :
			return doesntMatchRegularExpression(valeur, regExpTelephonePortable);
			break;
		case "nati" :
			return doesntMatchRegularExpression(valeur, regExpTelephoneNational);
			break;
		case "inte" :
			return doesntMatchRegularExpression(valeur, regExpTelephoneInternational);
			break;
		case "PF" :
			return doesntMatchRegularExpression(valeur, regExpTelephoneFixePF);
			break;
		default : 
			return doesntMatchRegularExpression(valeur, regExpTelephoneNational);
			break;
	}
}

function isNotNumeroSecuriteSociale(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpNumeroSecuriteSociale);
}

function isNotTVAIntracommunautaire(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpTVAIntracommunautaire);
}

function isNotNumeroSiren(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpNumeroSiren);
}

function isNotNumeroSiret(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpNumeroSiret);
}

function isNotCodeApe(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpCodeApe);
}

function isNotEmailAdress(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpEmailAdress);
}

function isNotIpAdress(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpIpAdress);
}

function isNotDomainName(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpDomainName);
}

function isNotUrl(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpUrl);
}

function isNotHexColor(valeur)
{
	return doesntMatchRegularExpression(valeur, regExpHexColor);
}

function isNotHexspecifique(valeur, regspecifique)
{
	return doesntMatchRegularExpression(valeur, regspecifique);
}

function valide_cbx(champ){
var x;
var nbre=0;
for (x=0;x< champ.length;x++){
 
   if((champ[x].checked)==true){
        nbre++;		 
    } 
	
}

return nbre;
}

function valide_cbx_un(champ){
var x;
var nbre=0;
if (champ.checked==true){
        nbre++;		 
    } 	
return nbre;
}

function valeur_cbx(champ){
var x;
var str='';
for (x=0;x< champ.length;x++){
 
   if((champ[x].checked)==true){
        str = str +  champ[x].value+',';  	 
    } 
	
}

return str;
}

function getCheckedValue(radioObj,nb) {
coche=false;	

for(var i = 0; i < nb; i++) {
  if(radioObj[i].checked) {
			return true;
		}
}

	return coche;
}



Merci d'avance à vous tou(te)s

3 réponses

AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
14 mars 2012 à 14:07
Bonjour,

C'est du javascript, pas du java ;)

Sinon "il m'est impossible de..." n'est pas très clair. L'espace ne se rentre pas quand vous tapez la touche ? Ou sinon après l'avoir mis, il met un message d'erreur ?

Le textarea a un id ? onclick ? onchange ? Et c'est pour faire quoi ce textarea ? Pour rentrer une adresse mail ? C'est normal alors... Pourquoi veux-tu rentrer un espace dans une adresse mail ?
0
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 16
14 mars 2012 à 15:34
Pardons, je m'exprime pas correctement.

Lorsque je rentre un espace , un nombre, un signe (* ou autre), dans le "textarea" je reçois un message d'erreur.

Parse error: syntax error, unexpected T_STRING in C:\Program Files\wamp\www\envoi.php on line 15

Mon code "envoi.php":

<?php
$adresse="monadresse@monfai.fr";
$from=" $nom <$email>";
mail($adresse, $texte, $from);
$from.="Reply-To: $nom <$email>\n";
$from.="X-priority:2\n";
$texte="<html>";
$texte.="$texte";
$texte.="</html>";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";  
if (mail($adresse,$texte,$from))
echo("<center><font color=green><br><br><br><h2>Votre message à été envoyé.Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Merci de nous recontactez plus tard<a href="mailto:$adresse">classiquement</a>");
?>


Le "texarea" correspond à ma zone de texte (message), et non à un nom, ou une adresse mail.

Je ne sais pas ce qui c'est passé, mais maintenant, si je rentre des infos correctement (nom, email et texte,; je reçois systématiquement ce message d'erreur (je n'ai rien modifier depuis tout à l'heure) ...
0
AssassinTourist Messages postés 5710 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 311
14 mars 2012 à 15:46
Ok.
Je me répète mais est-ce que le textarea a un id ? ou un onchange ?
<textearea></textearea> ou <textearea id="blabla" onchange="blabla"></textearea> ?
0
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 16
14 mars 2012 à 17:18
Excuse moi, mais pour gagner un peu de temps (ça fait 2 jours que je suis la dessus), j'ai refais mes codes autrement.
Il fonctionnent hormis un message d'erreur, mais j'ai posté celle-ci sur une autre
question.

Merci quand même...
0