blob: 9491495df8710b3dcd55f3fe2aab39ed51e2b4c3 (
plain) (
tree)
|
|
// fonctions générales pour la page
var taillemaxdate = 10;
var placeholder_date = "aaaa-mm-jj" ;
function ajoutelignes()
{
// va ajouter 3 lignes au tableau de données
var table = document.getElementById("donneespoids")
var nbligne = table.children[0].childElementCount ;
// les données étant numérotées à partir de 0 on pourra commencer à partir de nbligne -1
// car il faut éliminer la ligne de header.
// voir dans quel mode on est : date ou texte
var deuxiemeligne = table.children[0].children[1] ;
var celldate = deuxiemeligne.children[1] ;
var mode = celldate.firstChild.type ;
var nbajout = 3 ;
for(var i=nbligne-1; i<nbligne+nbajout-1; i++)
{
var ligne = table.insertRow(i+1);
var cellage = ligne.insertCell(0);
var celldate = ligne.insertCell(1);
var cellpoids = ligne.insertCell(2);
var celltaille = ligne.insertCell(3);
cellage.innerHTML = '<input type="text" name="age_'+i+'">' ;
celldate.innerHTML = '<input name="date_'+i+'">' ;
celldate.firstChild.type = mode ;
if(mode == "text") // si on a déjà affiché les cases en mode texte, on continue en mode texte
{
celldate.firstChild.size = taillemaxdate ;
celldate.firstChild.maxlength = taillemaxdate ;
celldate.firstChild.placeholder = placeholder_date ;
}
cellpoids.innerHTML = '<input type="text" name="poids_'+i+'">' ;
celltaille.innerHTML = '<input type="text" name="taille_'+i+'">' ;
celltaille.classList.add("donneesplus") ;
if(deuxiemeligne.children[3].style.display == "block")
celltaille.style.display = "block" ;
}
}
// Affichage de la textarea "export"
function affiche_export()
{
document.getElementById("export").style.display = "block" ;
}
function affiche_cache(id,elemcourant)
{
// affiche et/ou cache l'élément id, tout en changeant le this
// en afficher/masquer
elem = document.getElementById(id)
if(elem.style.display == "block")
{
elem.style.display = "none";
elemcourant.innerHTML = "Afficher" ;
}
else
{
elem.style.display = "block" ;
elemcourant.innerHTML = "Masquer" ;
}
}
function affiche_cache_classe(classe)
{
// affiche et/ou cache tous les éléments de la classe classe (et change le texte du this)
var listelem = document.getElementsByClassName(classe) ;
var attributaff ;
if(listelem[0].style.display != "block") // c'est caché, donc on veut afficher
{
document.getElementById("bouton_afficher_donneesplus").innerHTML = "Masquer" ;
attributaff = "block" ;
}
else
{
document.getElementById("bouton_afficher_donneesplus").innerHTML = "Afficher" ;
attributaff = "none" ;
}
for(var i=0;i<listelem.length; i++)
{
listelem[i].style.display = attributaff ;
}
}
function affiche_donneesplus_sibesoin()
{
// fonction à appeler au chargement de la page
// On parcourt le tableau des tailles (ou autres) et on voit si y'a
// des choses dans les champs
var trouve = false ;
var liste_cases = document.getElementsByTagName("td") ;
//alert(liste_cases[3].children[0].value+liste_cases[3].classList) ;
for(i=0; i<liste_cases.length && !(trouve); i++)
{
// Si une des cases "données plus" contient un truc non vide
if(liste_cases[i].classList == "donneesplus" && liste_cases[i].children[0].value != "")
{
trouve = true ;
}
}
if(trouve)
affiche_cache_classe("donneesplus")
}
function change_mode_dates(mode)
{
// passe de l'affichage en mode "date" à l'affichage en mode "texte" pour les navigateurs
// qui gèrent mal le mode date
var listeinput = document.getElementsByTagName("input") ;
for(i=0;i<listeinput.length;i++)
{
var nombalise = listeinput[i].name ;
if(nombalise == "naissance" || nombalise.slice(0,5) == "date_")
{
listeinput[i].type = mode ;
if(mode == "date")
listeinput[i].maxlength = taillemaxdate ;
listeinput[i].size = taillemaxdate ;
listeinput[i].placeholder = placeholder_date ;
}
}
// changer le texte et le bouton.
var elem = document.getElementById("changemode") ;
if(mode =="text")
{
elem.innerHTML = "Saisie des dates au format aaaa-mm-jj. <span onclick=\"change_mode_dates('date')\" class=\"bouton\">Cliquez ici</span> pour revenir à une saisie de dates « confortable »."
}
else
{
elem.innerHTML = "<span onclick=\"change_mode_dates('text')\" class=\"bouton\">Cliquez ici</span> pour saisir les dates comme du texte."
}
}
|