Je débute en javascript et là je vois pas ou est le souci....
Je veux qu'un input ayant pour id "bt" comme... batiment soit automatiquement corrigé pour correspondre à un format bien défini (Bxxx). Ce qui me donnerai ceci par exemple:
b023 -> B023
b23 ->B023
23 ->B023
J'ai donc fait ceci:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
$(document).ready(function() {
$('#bt').on('change', function () {
var batiment = document.getElementById("bt").value
batiment = batiment.toUpperCase();
// On teste si la variable batiment est seulement composé de nombre
if(isNaN(batiment) == true){
// Si oui, on teste s'il est inférieur à 3 chiffres pour rajouter B0 si besoin
if(batiment.length < 3){
// N'ayant que 2 chiffres on insère B0 avant les 2 chiffres
batiment = concat('B0', batiment);
document.getElementById("bt").value= batiment;
}else{
// On a minimum 3 chiffres on insère donc seulement le B avant les 3 chiffres
batiment = concat('B', batiment);
document.getElementById("bt").value= batiment;
}
}
else{
// On teste la chaine pour savoir si on commence par B
var getB= batiment, getB.charAt(0);
// On verifie s'il y a 2 ou 3 chiffres
if(getB == B){
if(batiment.length < 3){
// On a 2 chiffres après le B, donc on insère un 0
batiment = batiment.substring(0) + "0" + str.substring(1,2);
document.getElementById("bt").value= batiment;
}else{
// On à 3 Chiffres donc on ne touche à rien
document.getElementById("bt").value= batiment;
}
}
}
}
</script>
</head>
<body>
<span>
<label for="batiment">Bâtiment: </label><input type="text" name="batiment" id="bt" maxlength="10"/>
</span>
</body>
</html>
Au début, je pensais faire une fonction verifBatiment() avec un this.value en paramètre et du coup un return de la variable batiment, mais ça n'a pas fonctionné donc je suis partie sur l'id du champ désiré même si c'est pas réutilisable dans d'autres pages (mais bon je verrai plus tard Est-ce que quelqu'un pourrait me dire ce qu'il ne va pas? après c'est mon premier script en JS donc soyer indulgent...
En vous remerciant par avance
maxredphenix