Valider c31cb2dc rédigé par maieul@maieul.net's avatar maieul@maieul.net
Parcourir les fichiers

On corrige 3 problèmes de gestion en js de l'attribut required pour

les élèments masqués par un afficher_si:
1. prendre en compte le select
2. prendre en compte les textarea et pas les "textearea"
3. prendre en compte le cas où le afficher si porte non pas directement
sur la saisie obligatoire, mais sur le fieldset qui contient cette
saisie
On en profite pour mutualiser un peu le code.
parent 16544c9a
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+8 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -391,12 +391,18 @@ function saisies_generer_js_afficher_si($saisies, $id_form) {
											$(form).find("'.$sel.'").show(400);
											';
						if (html5_permis()) {
						$code .=	'$(form).find("'.$sel.'.obligatoire > input, '.$sel.'.obligatoire > textearea").attr("required",true);';
						$pour_html_5 = 	$sel.".obligatoire > input,\n"// si le afficher_si porte directement sur le input
														.$sel." .obligatoire > input,\n"// si le afficher_si porte sur le fieldset
														.$sel.".obligatoire > textarea,\n"// si le afficher_si porte directement sur le textearea
														.$sel." .obligatoire > textarea,\n"// si le afficher_si porte sur le fiedset
														.$sel.".obligatoire >select,\n"//si le afficher_si porte directement sur le select
														.$sel." .obligatoire > select";//si le afficher_si porte sur le fieldset
						$code .=	'$(form).find("'.$pour_html_5.'").attr("required",true);';
						}
						$code .=	'} '."\n\t";
						$code .= 'else {';
						if (html5_permis()) {
							$code .= '$(form).find("'.$sel.' > input,'.$sel.' > textearea").attr("required",false);';
							$code .= '$(form).find("'.$pour_html_5.'").attr("required",false);';
						}					
						$code .=	'if (chargement==true) {
												$(form).find("'.$sel.'").hide(400).css("display","none");