Voici le bout de code, comme demand�. Pour vous situer un peu, mon site permet aux administrateurs syst�me de demander des machines virtuelles. Ils peuvent �diter leur demandes, modifier les VM existantes, demander des clones, des templates, etc...
Dans mon fichier html, j'inclus le fichier de fonctions javascript :
1 2 3
| <?PHP
include("./incl_fonctions.js");
?> |
La premi�re fonction est utilis�e lors de la modification d'une demande. Je vais r�cup�rer la config de la VM dans la DB que je stocke dans des variables PHP, puis je transmet ces valeurs dans des variables javascript. Selon la valeur de ces variables, certains �l�ments de mon formulaire sont activ�s, d�sactiv�s, affich�s, cach�s, ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| function InitConfigOS()
{
var StrOSName = '<?php echo($StrOSName); ?>';
var IntOSPreInst = '<?php echo($IntOSPreInst); ?>';
var StrOSType = '<?php echo($StrOSType); ?>';
var IntOSArch = '<?php echo($IntOSArch); ?>';
if(IntOSPreInst == "1") //OS pre-installe = oui
{
document.getElementById('OSYes').checked=true;
}
else
{
document.getElementById('OSNo').checked=true;
document.getElementById('txtOSKey').value='';
document.getElementById('txtOSKey').disabled=true;
}
if(StrOSType == "STANDARD")
{
document.getElementById('StandardOS').checked=true;
document.getElementById('selOSid').disabled=false;
document.getElementById('selOSid').value=StrOSName;
document.getElementById('txtOSOther').value='';
document.getElementById('txtOSOther').disabled=true;
}
else
{
document.getElementById('SpecificOS').checked=true;
document.getElementById('txtOSOther').disabled=false;
document.getElementById('txtOSOther').value=StrOSName;
document.getElementById('selOSid').disabled=true;
}
//Selection 32 ou 64bit
document.getElementsByName('rbOS32-64')['OS'+IntOSArch].checked=true;
} // fin fonction InitConfigOS |
Voici une autre fonction qui est utilis�e � peu pr�s sur tous mes formulaires o� on trouve des input de type textbox. Par exemple, lorsque je demande une adresse IP, je remplace tout ce qui n'est pas des chiffres et des "." par un retour arri�re :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function ChkStr(StrField, StrValue)
{
// Remplacement des caracteres interdits par un backspace lors de la frappe
var digits = new RegExp(StrValue);
var verif;
for(i = 0; i < StrField.value.length; i++)
{
verif = digits.test(StrField.value.charAt(i));
if(verif == false)
{
StrField.value = StrField.value.substr(0,i);
}
}
} //Function ChkStr |
Cette 2�me fonction n'est pas ex�cut�e (le message dit qu'elle est introuvable) et j'obtiens un message d'erreur relatif � l'initialisation de la variable javascript "StrOSName" :
var StrOSName = '<?php echo($StrOSName); ?>';
En effet, la variable PHP $StrOSName est inconnue (dans le cas o� on n'est pas en train d'�diter une demande) et il ne va pas plus loin.
Je pense que la solution la plus facile sera d'�clater ces fonctions dans diff�rents fichiers et de ne regrouper QUE les fonctions qui sont utilis�es partout.
Meilleures salutations,
Alex
Partager