Desactiver required d'un champ hidden

Résolu/Fermé
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016 - Modifié par BapPro le 4/12/2015 à 15:34
BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016 - 4 déc. 2015 à 17:37
Bonjour,
j'ai plusieurs champs dans un formulaire, parmi lesquels j'ai des champs caches qui s'affichent selon selection dans un select. Tous les champs sont required. Lorsqu'un champ cache n'est pas affiche le fait qu'il contient l'attribut required l'envoi du formulaire est impossible. Comment faire pour desactiver ler required d'un champ quand il est cache. Voici mes codes:
<label>Select role</label>
    <select name="role" id="role"
onchange=" changementType1();" >
  <option>Make a selection</option>
    <option>Agent</option>
 <option>Admin</option>
  <option value="Client manager">Client manager</option>
  </select></br>
<label>Affectation <em>*</em></label>
      <input type="text" name= "affectation" id= "affectation" required></br>
<div id="namec" style="display:none"> 
      <label>Name <em>*</em> </label>
      <input type="text" name= "name" id= "name"  onkeyup="verif_name(this);" maxlength="35"  disabled="true" required>
 </div>

function changementType1() 
{
 var type = document.getElementById("role").value;
if(type=="Client manager")
{
document.getElementById("namec").style.display="block";
} else
{
document.getElementById("namec").style.display="none";
}
}

Si on choisi Agent dans le select le name ne va pas s'afficher donc c'est logique selon la fonction. Mais on ne peut pas sauvegarder a cause de l'attribut required du champ name. Donc je voudrais desactiver required quand ce champ est cache..
Merci et a +
A voir également:

1 réponse

BapPro Messages postés 46 Date d'inscription samedi 17 janvier 2015 Statut Membre Dernière intervention 4 février 2016
4 déc. 2015 à 17:37
Je viens de trouver la solution
J'ai juste desactive le required du champ cache par:
document.getElementById("name").removeAttribute("required");

Merci et a plus
0