mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
add Néerlandais language option and make language_autre conditionally required
This commit is contained in:
@@ -165,7 +165,7 @@ $checkedFormatsForSiteWeb = $checkedFormatsForSiteWeb ?? [];
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- ═══════════════════ Langue(s) ═══════════════════ -->
|
||||
<fieldset>
|
||||
<fieldset id="languages-fieldset">
|
||||
<legend>Langue(s)</legend>
|
||||
<?php
|
||||
$name = "languages";
|
||||
@@ -179,11 +179,44 @@ $checkedFormatsForSiteWeb = $checkedFormatsForSiteWeb ?? [];
|
||||
$name = "language_autre";
|
||||
$label = "Autre(s) langue(s) :";
|
||||
$value = $oldFn("language_autre");
|
||||
$required = empty($formData["languages"]);
|
||||
$hint =
|
||||
"Si votre TFE contient une langue absente de la liste, précisez-la ici.";
|
||||
include APP_ROOT . "/templates/partials/form/text-field.php";
|
||||
?>
|
||||
</fieldset>
|
||||
<script>
|
||||
(function () {
|
||||
var fs = document.getElementById('languages-fieldset');
|
||||
if (!fs) return;
|
||||
var autreInput = fs.querySelector('input[name="language_autre"]');
|
||||
if (!autreInput) return;
|
||||
var autreLabel = fs.querySelector('label[for="language_autre"]');
|
||||
function update() {
|
||||
var anyChecked = fs.querySelectorAll('input[name="languages[]"]').length > 0
|
||||
? Array.from(fs.querySelectorAll('input[name="languages[]"]')).some(function(cb){ return cb.checked; })
|
||||
: false;
|
||||
autreInput.required = !anyChecked;
|
||||
if (autreLabel) {
|
||||
var star = autreLabel.querySelector('.asterisk');
|
||||
if (!anyChecked && !star) {
|
||||
var s = document.createElement('span');
|
||||
s.className = 'asterisk';
|
||||
s.textContent = '*';
|
||||
autreLabel.appendChild(document.createTextNode(' '));
|
||||
autreLabel.appendChild(s);
|
||||
} else if (anyChecked && star) {
|
||||
star.previousSibling && star.previousSibling.nodeType === 3 && star.previousSibling.remove();
|
||||
star.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
fs.addEventListener('change', function(e) {
|
||||
if (e.target && e.target.name === 'languages[]') update();
|
||||
});
|
||||
update();
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!-- ═══════════════════ Mots-clés ═══════════════════ -->
|
||||
<fieldset>
|
||||
|
||||
Reference in New Issue
Block a user