Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour, je rencontre un petit soucis dans le cadre d'un site ou je met a disposition des utilisateurs un code qu'il leur faut copier sur leur site. ce site s'adressant en grande partie a des non innitiés, ils ont pour 90 % d'entre eux le reflexe de coller ce code dans leur editeur html prefere ... dream...frontpage...namo webedit etc etc et systematiquement ces editeurs transforme mon code et du coup ca ne fonctionne plus.

Le code est base sur du <form>

je vous note donc ci-dessous le code que je leur fourni de façon a savoir si cela vient de ce code ou ce que je pourrais avoir comme solution pour remedier a ce probleme.


<form name="f" action="http://www.nomdusite.com/cgi-bin/form2mail.cgi" method="post" onsubmit="return validate(f)"
enctype="multipart/form-data">
<input type="hidden" name="formid" value="27" />
<input type="hidden" name="mode" value="" />
<input type="hidden" name="session" value="zF2kBZPiFd" />
<input type="hidden" name="action" value="action" />
<table border="0" cellpadding="2" cellspacing="0"> <tr><td style="" colspan="2" align="center"></td></tr> <tr><td align="right" style="">
<span style=""> mailing list</span> </td><td align="right" style=""> <input style="" type="radio" name="n87" value="oui" checked />
<span style=""> oui</span>   <input style="" type="radio" name="n87" value="non" />
<span style=""> non</span>  </td></tr> <tr><td colspan="2" align="right" style=""> <input style="" type="submit" value="Valider" /> </td></tr></form></table>
<script type="text/javascript">
<!--


function emptyField(s) {
if (s.value.length == 0) return true;
for (var i = 0; i < s.value.length; i++) {
var ch = s.value.charAt(i);
if (ch != ' ' && ch != ' ') return false;
}
return true;
}

function get_radio_value(radio) {
var val = ''
for (var i = 0; i < radio.length; i++) {
if (radio[i].checked) {
val = radio[i].value
}
}
return val
}

function valid_email(e) {
if (e.value.length == 0) return true;
var has_aro = false;
for (var i = 0; i < e.value.length; i++) {
var ch = e.value.charAt(i);
if (ch == '@') has_aro = true;
if (ch == '.' && has_aro) return true;
}
return false;
}

function apercu(formid) {
newwin = window.open( "form2mail.cgi?session=zF2kBZPiFd&mode=apercu&formid=" + formid, 'top')
newwin.focus()
}




function validate(f) {
return (true);
}

// -->
</script>

merci d'avance pour vos aides eclairées.

salutations

Philippe

Modifié par Portekoi
Posté

Bonjour,

Je ne comprends pas bien le but de ton script. Tu as, en javascript, une vérification de l'adresse email mais nul part on peut la saisir.

De plus, tu ouvres le formulaire avant le table mais tu le refermes avant.

Pour finir, tu peux enlever le style="" qui ne sert à rien.

Quelle est l'erreur? Soit plus précis afin que l'on puisse t'aider au mieux. :)

Portekoi

Posté (modifié)

Oui désolé, je n'avais pas précisé les erreurs, concernant le contenu du code c'est un peu particulier mais pas important ce qui me gene c'est que lorsque l'on copie ce code sur un editeur html cela me transforme le code par exemple pour frontpage le code devient ceci une fois sauvegardé.

<form name="f" action="http://www.nomdusite.com/cgi-bin/form2mail.cgi" method="post" onsubmit="return validate(f)" 
enctype="multipart/form-data">
*********</form>*******
<input type="hidden" name="formid" value="27" />
<input type="hidden" name="mode" value="" />
<input type="hidden" name="session" value="OekU9jabAo" />
<input type="hidden" name="action" value="action" />
<table border="0" cellpadding="2" cellspacing="0"> <tr><td style="" colspan="2" align="center"></td></tr> <tr><td align="right" style="">
<span style=""> mailing list</span> </td><td align="right" style=""> <input style="" type="radio" name="n87" value="oui" checked />
<span style=""> oui</span>   <input style="" type="radio" name="n87" value="non" />
<span style=""> non</span>  </td></tr> <tr><td colspan="2" align="right" style=""> <input style="" type="submit" value="Valider" /> </td></tr></form></table>
<script type="text/javascript">
<!--


function emptyField(s) {
if (s.value.length == 0) return true;
for (var i = 0; i < s.value.length; i++) {
var ch = s.value.charAt(i);
if (ch != ' ' && ch != ' ') return false;
}
return true;
}

function get_radio_value(radio) {
var val = ''
for (var i = 0; i < radio.length; i++) {
if (radio[i].checked) {
val = radio[i].value
}
}
return val
}

function valid_email(e) {
if (e.value.length == 0) return true;
var has_aro = false;
for (var i = 0; i < e.value.length; i++) {
var ch = e.value.charAt(i);
if (ch == '@') has_aro = true;
if (ch == '.' && has_aro) return true;
}
return false;
}

function apercu(formid) {
newwin = window.open( "form2mail.cgi?session=OekU9jabAo&mode=apercu&formid=" + formid, 'top')
newwin.focus()
}




function validate(f) {
return (true);
}

// -->
</script>

et la on voit clairement qu'il a de lui même rajouté un fin de form

Autre exemple avec namo web editor

**********<form name="f"**********action="http://www.nomdusite.com/cgi-bin/form2mail.cgi" method="post" onsubmit="return validate(f)" 
enctype="multipart/form-data">
<input type="hidden" name="formid" value="36" />
<input type="hidden" name="mode" value="" />
<input type="hidden" name="session" value="1EvvLvCBZe" />

<input type="hidden" name="action" value="action" />

**********<form name="f"********** method="post" action="http://www.nomdusite.com/cgi-bin/form2mail.cgi" enctype="multipart/form-data">
<p align="center"><b><span style="font-size:14pt;"><font color="blue">Super
formulaire à Philou  ;o)</font></span></b></p>
<p><b><span style="font-size:14pt;">Mais :</span></b></p>
<p align="left"><b><span style="font-size:14pt;">J'ai limité
à 3 le nombre de saisie dans le premier champ, malgré
cela...</span></b></p>

<p align="left"><b><span style="font-size:14pt;">Quoique l'on tape,
l'email n'est jamais valide</span></b></p>
<p align="left"><b><span style="font-size:14pt;">Enfin si... mais erreur
interne et blème de certificat de je ne sais quoi qui a expiré.</span></b></p>
<p align="left"><b><span style="font-size:14pt;">@+</span></b></p>
<p align="left"><b><span style="font-size:14pt;"> </span></b></p>
</form>
**********<form name="f"********** action="http://www.nomdusite.com/cgi-bin/form2mail.cgi" method="post" onsubmit="return validate(f)"
enctype="multipart/form-data">

<table border="0" cellpadding="2" cellspacing="0"> <tr><td style="font-family:sans-serif;font-size:medium;" colspan="2" align="center">* champs obligatoires</td></tr> <tr><td align="right" style="font-family:sans-serif;font-size:medium;">
<span style="font-family:sans-serif;font-size:medium;">bla 1</span> <span style="font-family:sans-serif;font-size:medium;">*</span> </td><td align="right" style="font-family:sans-serif;font-size:medium;">

<p align="left"><input style="font-family:serif;font-size:medium;" type="text" name="n115" size="2" value="" /> </td></tr>
<script type="text/javascript">
<!--
function valid_n115(f) {
if (f.n115.value == '' || emptyField(f.n115)) {
alert("Merci de renseigner le champ bla 1");
f.n115.focus();
return false;
}

return true;
}
// -->
</script>
<tr><td align="right" style="font-family:sans-serif;font-size:medium;">
<span style="font-family:sans-serif;font-size:medium;">email</span> </td><td align="right" style="font-family:sans-serif;font-size:medium;">
<input style="font-family:serif;font-size:medium;" type="text" name="n116" size="50" value="" /> </td></tr> <tr><td colspan="2" align="right" style="font-family:sans-serif;font-size:medium;"> <input style="font-family:sans-serif;font-size:medium;" type="submit" value="Valider" /> </td></tr></form></table>

<script type="text/javascript">
<!--


function emptyField(s) {
if (s.value.length == 0) return true;
for (var i = 0; i < s.value.length; i++) {
var ch = s.value.charAt(i);
if (ch != ' ' && ch != ' ') return false;
}
return true;
}

function get_radio_value(radio) {
var val = ''
for (var i = 0; i < radio.length; i++) {
if (radio[i].checked) {
val = radio[i].value
}
}
return val
}

function valid_email(e) {
if (e.value.length == 0) return true;
var has_aro = false;
for (var i = 0; i < e.value.length; i++) {
var ch = e.value.charAt(i);
if (ch == '@') has_aro = true;
if (ch == '.' && has_aro) return true;
}
return false;
}

function apercu(formid) {
newwin = window.open( "form2mail.cgi?session=1EvvLvCBZe&mode=apercu&formid=" + formid, 'top')
newwin.focus()
}




function validate(f) {
return (true && valid_n115(f));
}

// -->
</script>

et là on voit que lui, on ne sais pourquoi me rajoute carremment trois balises form.

en passant sur d'autre editeur ca me fais des trucs bien louche et donc je voudrais comprendre pourquoi et comment y remedier.

Modifié par Portekoi
Posté

Euh, si tu fais un copier/coller de "source" à source, il n'y a pas de raison que cela ne fonctionne pas.

Pour FrontPage, peut être qu'il digère mal certaine chose mais Namo ne devrait pas réagir ainsi.

Comment fais tu le copier coller? De source à source?

Personnellement, j'ai copié/collé ton code dans Dream et NVU et je n'ai eu aucun soucis....

Posté

merci pour les tests mais en fait le soucis ce n'est pas de savoir comment moi je fais le copier/coller car perso je n'utilise pas d'editeur web donc pas de soucis, c'est plus que ce service s'adresse a une large population de gens qui pour la plupart utilise des editeurs et ne font ou ne savent pas tous faire de source a source donc c'est ce qui me pose probleme c'est que je vais passer trop de temps en sav pour leur expliquer donc je me demandais si le code proposé a copier/coller ne comportais pas de connerie suceptible d'etre mal interpretée par une grande majorite d'editeur.

Mais je pense que pour regler au maximum le soucis je vais mettre comme code un Iframe de facon a ce que tous les gens n'aient pas de soucis.

merci encore pour ton aide et ton temps.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...