Ajouter du texte dynamique [Résolu]

Signaler
Messages postés
87
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 juillet 2009
-
Messages postés
87
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 juillet 2009
-
Bonjour,


Je suis en entrain de faire un formulaire,

et je voulais quand il y a la vérification en JavaScript qu'il ajoute du texte
rouge "le champs est vide veuilles le remplir" au-dessus du champs ou
sais vide.



 




Donc voici des morceaux de code que j'ai.



code HTML
<form action="?page=Admin&amp;amp;action=send" method="post" id="formrequest" onSubmit="return checkform('formrequest');">
<dl>
<dt>First Name:</dt>
<dd id="firstName-dd">
<input name="firstName" type="text" class="edit" size="30" />
</dd>

<dt>Last Name:</dt>
<dd>
<input name="lastName" type="text" class="edit" size="30" />
</dd>
</dl>

<input type="submit" value="submit" class="submit" />
</form>


JavaScript
function checkform($formulaire){
var $mail = '';
var $result = false;

//firtName
if(document.forms[$formulaire].elements['firstName'].value == "") {

   			document.forms[$formulaire].elements['firstName'].focus();
   			$result = false;
addHTML(document.forms[$formulaire],'Veuillez entrer votre lieu de résidence!');
  		}

//lastName

//Company

//mail
$mail = document.forms[$formulaire].elements['email'].value;
$result = verifiermail($mail);

//Phone Number

return $result;
}

function verifiermail(mail) {
if ((mail.indexOf("@")>=0)&amp;&amp;(mail.indexOf(".")>=0)) {
return true
} else {
alert("Mail invalide !");
return false
}
}

function addHTML(element, HTML) {
var o = document.createElement("div");
o.innerHTML = HTML;
element.appendChild(o)
}

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

   



var o = element.getElementById("toto");
document.getElementByID plutôt

et dans ce cas element est inutile, comme appendChild puisqu'il existe.

addHTML('Hello');
function addHTML(HTML) {
var o = document.getElementById("toto");
o.innerHTML = HTML;
}











o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o 
| Avec | et mieux : <label style ="color: rgb(0, 128, 0);">Télécharger</label> | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug
| | Outils / Console d'erreurs | | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options Ile Debogger IE | 
| | dans la liste, sous "Navigation" : décocher | | 
| | ° Afficher une notification de chaque erreur de script | | 
| | ° Désactiver le débogage de Scripts (autres applications)| | 
| | ° Désactiver le débogage de Scripts (Internet Explorer) | | 
o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o

ça aide "pas mal"











<hr />
                Cordialement            Bul         [mon Site]     [M'écrire]
<hr />


                                    Généralement, c'est absurde de généraliser.
Messages postés
87
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 juillet 2009

J'ai trouvé.

        if($formulaire.elements['firstName'].value == "") {
               $formulaire.elements['firstName'].focus();
               $result = false;
            addHTML('Hello
');
          }else{
            addHTML('');
          }
         

Merci a Bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

    foultitude solutions ( comme toujours )

    on pourrait, devant ces champs, mettre <label id="toto" style="display:none;color:red">texte de l'erreur</label>
    et en cas d'erreur faire : document.getElementById("toto").style.display="inline";
       c'est une exemple, il y a d'autres possibilités.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]<hr />

                                                    Généralement, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
j'ai oublié de dire que bien entendu (?)
    le texte de l'erreur peut-être "dynamique"
   
                 document.getElementById("toto").innerHTML="le texte voulu";


<hr />
                Cordialement          Bul         [mon Site]     [M'écrire]
<hr />


                                    Généralement, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
ah, mais je n'avais pas tout vu....

<form action= "?page=Admin&amp;action=send" method="post"
        id="formrequest"
        onSubmit="return checkform(this);">
    * First Name:
    :
       
   
    * Last Name:
    :

       
   

   
</form>

<script>
    function checkform($formulaire)
    {
        var $mail = '';
        var $result = false;
        if($formulaire.firstName.value=="") {
               $formulaire.firstName.focus();
               $result = false;
            addHTML($formulaire,'Veuillez entrer votre lieu de résidence!');
          }
        /*
        $mail = $formulaire.email.value;            j'ai éliminé
        $result = verifiermail($mail);                  car email non décrit
        */
        return $result;
    }
    function verifiermail(mail) {
        if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) {        
            return true
        } else {
            alert("Mail invalide !");
            return false
        }
    }

    function addHTML(element, HTML) {
        var o = document.createElement("div");
        o.innerHTML = HTML;
        element.appendChild(o)
    }
</script>

<hr />                Cordialement                Bul             [mon Site]         [M'écrire]<hr />                       

Généralement, c'est absurde de généraliser.
Messages postés
87
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 juillet 2009

je devients fou....

regarde ce que j'ai fais
<form action="?page=Admin&amp;action=send" method="post" id="formrequest" onSubmit="return checkform(this);">

<label for="" id="toto">
</label>

<input name="firstName" type="text" class="edit" size="30" />

<input type="submit" value="submit" class="submit" />
</form>

JAVASCRIPT

function checkform($formulaire){
var $result = false;

//firtName
if($formulaire.elements['firstName'].value == "") {
$formulaire.elements['firstName'].focus();
$result = false;
addHTML($formulaire,'Hello');
}

//lastName

//Company

//mail
/*$mail = document.forms[$formulaire].elements['email'].value;
$result = verifiermail($mail);
*/
//Phone Number

return $result;
}

function addHTML(element, HTML) {
var o = element.getElementById("toto");
o.innerHTML = HTML;
element.appendChild(o)
}
 
Messages postés
87
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
23 juillet 2009

Merci, beaucoup, sa fonctionne.. je voulais sa savoir si c'est possible d'enlenver le text ? que j'ai rajouté s'il y a quelque chose dedant dans le champ. tu vois ce que je veux dir ?

Merci encore de la papiditée.