JS - Affichage/Disparition du bouton Submit

Guigui_Mou Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
Kino76 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterai que le bouton Envoyer de mon formulaire soit invisible tant que certains champs n'ont pas été renseignés puis qu'il apparaisse une fois ces conditions remplies.

Voici mon code actuel avec une vérification de caractères qui me convient.. Il faut juste que je résolve cette histoire d'affichage du bouton Envoyer..
Je sais qu'il n'y a que quelques lignes à ajouter, notamment avec les événements.. Help =)

<script type="text/javascript">
function verif_champs()
{
if(document.formulaire.txtPwd.value == "")
{
alert("Veuillez entrer la structure où vous travaillez.");
document.formulaire.txtPwd.focus();
return false;
}
if(document.formulaire.txtName.value == "")
{
alert("Veuillez entrer votre nom.");
document.formulaire.txtName.focus();
return false;
}
if(document.formulaire.txtName2.value == "")
{
alert("Veuillez entrer votre prenom.");
document.formulaire.txtName2.focus();
return false;
}
if(document.formulaire.txtNum.value == "")
{
alert("Veuillez entrer un numéro sur lequel nous pouvons vous rappeler.");
document.formulaire.txtNum.focus();
return false;
}
}
</script> 

<script language='JavaScript' src='http://www.ntrsupport.com/inquiero/obj/sec/CMD5.js'></script>
<script language='JavaScript' type='text/javascript'>
function inq_HlpdskGO(frm){
  //var bAnonymous=(frm.chkAnonymous.checked)?1:0;
  //var sURL = 'http://www.ntrsupport.com/inquiero/helpdesk/portal/logonHP.asp';
  var sURL = 'http://www.ntrsupport.com/nv/inquiero/anonymous2.asp?';
  sURL += 'lang=fr';
  //sURL += '&an=';
  //sURL += bAnonymous;
  sURL += '&login=21866';
  sURL += '&ref=' + 'C-logik____: Appel commercial';
  sURL += '&ref2=Utilisateur_: ' + frm.txtPwd.value + ' - ' + frm.txtName.value + ' - ' + frm.txtName2.value + ' - ' + frm.txtNum.value;
 

  //sURL += '&r=';
  //sURL += Math.random();
  var sFeat='toolbar=0,status=0,menubar=0,scrollbars=1,resizable=1,width=790,height=650,top=0,left=0';
  var sPwd = hex_md5(frm.txtPwd.value);
  
  window.open(sURL,sPwd,sFeat);
  //window.open(sURL,sFeat);
  frm.txtName.value='';
  frm.txtPwd.value='';
  return true;
}
</script>


<br>
<h1>Demande commerciale</h1>
<p>Saisissez vos coordonnées afin d'être rappelé :</p>

<form method='post' name="formulaire" onsubmit='return verif_champs() && inq_HlpdskGO(this);'>
<br><br><table width='30%'  border='0' cellspacing='8' cellpadding='0' >

  <tr>
	<td align='right' class='style2'>Structure : </td>
	<td align='left'><input name='txtPwd' type='text' class='style1' onchange="javascript:this.value=this.value.toUpperCase();"></td>
  </tr>
  <tr>
   <td width='30%' align='right' class='style2'>Nom : </td>
   <td width='70%' align='left'><input name='txtName' type='text' class='style1' onchange="javascript:this.value=this.value.toUpperCase();"></td>
 </tr>
  <tr>
   <td width='30%' align='right' class='style2'>Prénom : </td>
   <td width='70%' align='left'><input name='txtName2' type='text' class='style1' onchange="javascript:this.value=this.value.toUpperCase();"></td>
 </tr>
  <tr>
	<td align='right' class='style2'>Numéro : </td>
	<td align='left'><input name='txtNum' type='text' class='style1' onkeyup="check();"></td>
 </tr>
  <tr>
	<td>&nbsp;</td>
	<td align='left'><input name='btnSubmit' type='submit' class='style3' value='Envoyer'></td>
  </tr>
</table>
</form>
A voir également:

4 réponses

kino
 
dans ta fonction Verif_Champ Si un champ est faux inclue ce code.

Document.GetElementByName("btnSubmit").style.visibility='hidden';
0
Guigui_Mou Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Quand j' implémente ta ligne de code, ça ne fonctionne pas, le message d'erreur s'affiche mais tous les champs sont effacés et le bouton Envoyer est toujours là :x

if(document.formulaire.txtPwd.value == "")
{
alert("Veuillez entrer la structure où vous travaillez.");
document.formulaire.txtPwd.focus();
Document.GetElementByName("btnSubmit").style.visibility='hidden';
return false;
}
0
Guigui_Mou Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
En implémentant ta ligne de code, ça ne fonctionne pas, le message d'erreur s'affiche mais tous les champs sont effacés et le bouton Envoyer est toujours là :x

if(document.formulaire.txtPwd.value == "")
{
alert("Veuillez entrer la structure où vous travaillez.");
document.formulaire.txtPwd.focus();
Document.GetElementByName("btnSubmit").style.visibility='hidden';
return false;
}
0
Kino76 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   3
 
met un Id sur ton submit genre id="btSub"

document.getElementById("btSub").style.visibility='hidden';

ou

document.formulaire.getElementById("btSub").style.visibility='hidden';
0
Guigui_Mou Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
ça n'efface plus les champs, le bouton Envoyer disparaît bien, mais ne réapparait jamais. Je suis une quenelle en Javascript.. merci encore de me filer un coup de main Kino76
0
Guigui_Mou Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
Il faudrait qu'une fois les champs remplit il apparaisse :x
0
Kino76 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   3
 
sur tes champs ecrit onBlur="lenomdetafonction()"

et dans le script

function lenomdetafonction() 
{ 
    if((document.formulaire.txtPwd.value != "") &&        (document.formulaire.txtName.value != "") && (document.formulaire.txtName2.value != "") && 
(document.formulaire.txtNum.value != "")) 
{ 
document.getElementById("btSub").style.visibility='visible';  
} 


0