- l'objet js :
- function choixfiltre(liste,divid,typefiltre,champ)
- /* divid c'est l'id dans laquelle on écrira le filtre
- typefiltre c'est le type de filtre 0 à 9 ou A à Z doit être égal à 'num' ou 'alpha'
- liste c'est le nom de l'objet instanciant la classe choixfiltre
- champ est le nom du champ qui contiendra la valeur sélectionnée */
- {
- this.division=divid;
- this.filtre=typefiltre.toLowerCase();
- this.liste=liste;
- this.champ=champ;
- this.chaine="<table border='0' cellpadding='0' cellspacing='0' style='border-collapse:collapse;'><tr>";
- }
-
- choixfiltre.prototype = {
- afffiltre: function() {
- switch (this.filtre) {
- case "alpha" :
- for ($i=65;$i<=77;$i++)
- {
- var caractere =String.fromCharCode($i);
- this.chaine+="<td><input type='submit' name='lettre"+caractere+"' value='"+caractere+"' onclick='"+this.liste+".selfiltre(\""+caractere+"\")'></td>";
- }
- this.chaine+="</tr><tr>";
- for ($i=78;$i<=90;$i++)
- {
- var caractere =String.fromCharCode($i);
- this.chaine+="<td><input type='submit' name='lettre"+caractere+"' value='"+caractere+"' onclick='"+this.liste+".selfiltre(\""+caractere+"\")'></td>";
- }
- break;
- case "num" :
- for ($i=0;$i<=9;$i++)
- {
- this.chaine+="<td><input type='submit' name='chiffre"+$i+"' value='"+$i+"' onclick='"+this.liste+".selfiltre("+$i+")'></td>";
- }
- break;
- }
- this.chaine+="</tr></table>";
- document.getElementById(this.division).innerHTML=this.chaine;
- },
- selfiltre: function(val){
- document.getElementById(this.champ).value=val;
- window.location.reload();
- }
- }
-
- dans la page html :
- ...
- var listealpha= new choixfiltre("listealpha","liste","alpha","champretour");
- ...
- listealpha.afffiltre();
- ...
- Il suffira alors de tester la valeur de champretour (par exemple avec if (document.getElementById('champretour').value!="") ...
-
l'objet js :
function choixfiltre(liste,divid,typefiltre,champ)
/* divid c'est l'id dans laquelle on écrira le filtre
typefiltre c'est le type de filtre 0 à 9 ou A à Z doit être égal à 'num' ou 'alpha'
liste c'est le nom de l'objet instanciant la classe choixfiltre
champ est le nom du champ qui contiendra la valeur sélectionnée */
{
this.division=divid;
this.filtre=typefiltre.toLowerCase();
this.liste=liste;
this.champ=champ;
this.chaine="<table border='0' cellpadding='0' cellspacing='0' style='border-collapse:collapse;'><tr>";
}
choixfiltre.prototype = {
afffiltre: function() {
switch (this.filtre) {
case "alpha" :
for ($i=65;$i<=77;$i++)
{
var caractere =String.fromCharCode($i);
this.chaine+="<td><input type='submit' name='lettre"+caractere+"' value='"+caractere+"' onclick='"+this.liste+".selfiltre(\""+caractere+"\")'></td>";
}
this.chaine+="</tr><tr>";
for ($i=78;$i<=90;$i++)
{
var caractere =String.fromCharCode($i);
this.chaine+="<td><input type='submit' name='lettre"+caractere+"' value='"+caractere+"' onclick='"+this.liste+".selfiltre(\""+caractere+"\")'></td>";
}
break;
case "num" :
for ($i=0;$i<=9;$i++)
{
this.chaine+="<td><input type='submit' name='chiffre"+$i+"' value='"+$i+"' onclick='"+this.liste+".selfiltre("+$i+")'></td>";
}
break;
}
this.chaine+="</tr></table>";
document.getElementById(this.division).innerHTML=this.chaine;
},
selfiltre: function(val){
document.getElementById(this.champ).value=val;
window.location.reload();
}
}
dans la page html :
...
var listealpha= new choixfiltre("listealpha","liste","alpha","champretour");
...
listealpha.afffiltre();
...
Il suffira alors de tester la valeur de champretour (par exemple avec if (document.getElementById('champretour').value!="") ...