Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INFORMATION SUR LES INPUTS DE FORMULAIRE


Information sur la source

Catégorie :Trucs & Astuces Classé sous : informations, input, formulaire Niveau : Initié Date de création : 01/09/2003 Date de mise à jour : 01/09/2003 17:46:50 Vu : 8 019

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Je me sers souvent de ce code dans un fichier JS.
Il me permet d'avoir rapidement des informations sur les differents INPUTs. Les pages que je developpe sont souvent dynamique et je modifie souvent les elements directement avec du JavaScript. Donc en peu de ligne, j'ai acces aux types, aux nombres, aux options des INPUTs de la page. Je peux savoir lequels sont "checked" ou lequels sont "disable", etc...
 

Source

  • // ***********************************************
  • function inputInfo(obj, query, debug)
  • {
  • /***********************************************
  • The argument 'query' is optional (see below)
  • ex: info = inputInfo(Form.EXCH, "value");
  • Without the argument 'query', you return a Array with all this values: (see below)
  • You can take this value with a period or an array indicator:
  • ex: info = inputInfo(Form.EXCH);
  • Type_Of_Input = info.type;
  • OR
  • Type_Of_Input = info.[0];
  • If "obj" is a radio or checkbox type:
  • obj.value return the value for the CHECKED element or return null if none are CHECKED.
  • obj.select return true if one or more is CHECKED.
  • Possible value for the query's argument
  • info[0] = info.type
  • info[1] = info.name
  • info[2] = info.len
  • info[3] = info.value
  • info[4] = info.select
  • info[5] = info.enabled
  • info[6] = info.multiple
  • info[7] = info.text
  • info[8] = info.nbOpt (nombre d'elements OPTION dans le SELECT)
  • ***********************************************/
  • var tmpResult = new Array();
  • var info = new Array();
  • if (obj)
  • {
  • if (obj.type)
  • {
  • info[0] = info.type = obj.type;
  • info[1] = info.name = obj.name;
  • info[2] = info.len = false;
  • if (obj.type == "select-one")
  • {
  • tmpResult = SelectOne (obj);
  • info[3] = info.value = tmpResult[0];
  • info[4] = info.select = tmpResult[1];
  • info[7] = info.text = tmpResult[2];
  • info[8] = info.nbOpt = tmpResult[3];
  • }
  • else if ((obj.type == "radio") || (obj.type == "checkbox"))
  • {
  • info[3] = info.value = (obj.checked)? obj.value : null;
  • info[4] = info.select = (obj.checked)? true : false;
  • }
  • else
  • info[3] = info.value = obj.value;
  • info[5] = info.enabled = (obj.disabled)?false:true;
  • info[6] = info.multiple = false;
  • }
  • else if (obj.length)
  • {
  • var tmp_type = new Array();
  • var tmp_name = new Array();
  • var tmp_len = new Array();
  • var tmp_value = new Array();
  • var tmp_select = new Array();
  • var tmp_enabled = new Array();
  • var tmp_text = new Array();
  • var tmp_nbOpt = new Array();
  • var flag = true;
  • for (Y = 0; Y < obj.length; Y++)
  • {
  • tmpResult = inputInfo(obj[Y])
  • tmp_type[Y] = tmpResult[0];
  • tmp_name[Y] = tmpResult[1];
  • tmp_value[Y] = tmpResult[3];
  • tmp_select[Y] = tmpResult[4];
  • tmp_enabled[Y] = tmpResult[5];
  • tmp_text[Y] = tmpResult[7];
  • tmp_nbOpt[Y] = tmpResult[8];
  • if (flag && obj[0].type != tmp_type[Y])
  • flag = false;
  • }
  • info[0] = info.type = (flag)? obj[0].type : tmp_type;
  • info[1] = info.name = obj[0].name;
  • info[2] = info.len = obj.length;
  • info[3] = info.value = (flag && info.type == "radio")? tmp_value.toString().match(/\w+/) : tmp_value; // match is for return the unique Array value in the selected radio input
  • info[4] = info.select = tmp_select;
  • info[5] = info.enabled = tmp_enabled;
  • info[6] = info.multiple = true;
  • if (tmp_text)
  • info[7] = info.text = tmp_text;
  • if (tmp_nbOpt)
  • info[8] = info.nbOpt = tmp_nbOpt;
  • }
  • if (debug)
  • {
  • var msg = "info.type = " + info[0] + "\n";
  • msg += "info.name = " + info[1] + "\n";
  • msg += "info.len = " + info[2] + "\n";
  • msg += "info.value = " + info[3] + "\n";
  • msg += "info.select = " + info[4] + "\n";
  • msg += "info.enabled = " + info[5] + "\n";
  • msg += "info.multiple = " + info[6] + "\n";
  • msg += "info.text = " + info[7] + "\n";
  • msg += "info.nbOpt = " + info[8] + "\n";
  • alert (msg);
  • }
  • return ((query) ? info[query] : info);
  • }
  • return false;
  • }
  • // ***********************************************
  • function ToString(val)
  • {
  • return val.toString();
  • }
  • // ***********************************************
  • function SelectOne(obj)
  • {
  • var info = new Array();
  • if (obj.selectedIndex == -1 )
  • {
  • info[1] = false;
  • info[0] = "";
  • info[2] = "";
  • }
  • else
  • {
  • info[1] = ToString (obj.selectedIndex);
  • info[0] = obj.options[obj.selectedIndex].value;
  • info[2] = obj.options[obj.selectedIndex].text;
  • }
  • info[3] = obj.length;
  • return info;
  • }
// ***********************************************
function inputInfo(obj, query, debug)
{
/***********************************************
    The argument 'query' is optional (see below)
        ex: info = inputInfo(Form.EXCH, "value");
    Without the argument 'query', you return a Array with all this values: (see below)
    You can take this value with a period or an array indicator: 
        ex: info = inputInfo(Form.EXCH);  
            Type_Of_Input = info.type;
        OR 
            Type_Of_Input = info.[0];
    If "obj" is a radio or checkbox type:
         obj.value return the value for the CHECKED element or return null if none are CHECKED.
         obj.select return true if one or more is CHECKED.

    Possible value for the query's argument
        info[0] = info.type
        info[1] = info.name
        info[2] = info.len
        info[3] = info.value
        info[4] = info.select
        info[5] = info.enabled
        info[6] = info.multiple
        info[7] = info.text
        info[8] = info.nbOpt (nombre d'elements OPTION dans le SELECT)
***********************************************/
    var tmpResult = new Array();
    var info = new Array();
    if (obj)
    {
        if (obj.type)
        {
            info[0] = info.type = obj.type;
            info[1] = info.name = obj.name;
            info[2] = info.len = false;
            if (obj.type == "select-one")
            {
                tmpResult = SelectOne (obj);
                info[3] = info.value = tmpResult[0];
                info[4] = info.select =  tmpResult[1];
                info[7] = info.text =  tmpResult[2];
                info[8] = info.nbOpt =  tmpResult[3];
            }
            else if ((obj.type == "radio") || (obj.type == "checkbox"))
            {
                info[3] = info.value = (obj.checked)? obj.value : null;
                info[4] = info.select = (obj.checked)? true : false;
            }
            else
                info[3] = info.value = obj.value;

            info[5] = info.enabled = (obj.disabled)?false:true;
            info[6] = info.multiple = false;
        }
        else if (obj.length)
        {
        var tmp_type = new Array();
        var tmp_name = new Array();
        var tmp_len = new Array();
        var tmp_value = new Array();
        var tmp_select = new Array();
        var tmp_enabled = new Array();
        var tmp_text = new Array();
        var tmp_nbOpt = new Array();
        var flag = true;
            for (Y = 0; Y < obj.length; Y++) 
            {
                tmpResult = inputInfo(obj[Y])
                tmp_type[Y] = tmpResult[0];
                tmp_name[Y] = tmpResult[1];
                tmp_value[Y] = tmpResult[3];
                tmp_select[Y] = tmpResult[4];
                tmp_enabled[Y] = tmpResult[5];
                tmp_text[Y] = tmpResult[7];
                tmp_nbOpt[Y] = tmpResult[8];

                if (flag && obj[0].type != tmp_type[Y])
                        flag = false;
            }
            info[0] = info.type = (flag)? obj[0].type : tmp_type;
            info[1] = info.name = obj[0].name;
            info[2] = info.len = obj.length;
            info[3] = info.value = (flag && info.type == "radio")? tmp_value.toString().match(/\w+/) : tmp_value;  // match is for return the unique Array value in the selected radio input
            info[4] = info.select = tmp_select;
            info[5] = info.enabled = tmp_enabled;
            info[6] = info.multiple = true;
            if (tmp_text)
                info[7] = info.text = tmp_text;
            if (tmp_nbOpt)
                info[8] = info.nbOpt = tmp_nbOpt;
        }

        if (debug)
        {
            var msg = "info.type = " + info[0] + "\n";
            msg += "info.name = " + info[1] + "\n";
            msg += "info.len = " + info[2] + "\n";
            msg += "info.value = " + info[3] + "\n";
            msg += "info.select = " + info[4] + "\n";
            msg += "info.enabled = " + info[5] + "\n";
            msg += "info.multiple = " + info[6] + "\n";
            msg += "info.text = " + info[7] + "\n";
            msg += "info.nbOpt = " + info[8] + "\n";
            alert (msg);
        }
        return ((query) ? info[query] : info);
    }
    return false;
}


// ***********************************************
function ToString(val)
{
    return val.toString();
}

// ***********************************************
function SelectOne(obj)
{
var info = new Array();
    if (obj.selectedIndex == -1 )
    {
        info[1] = false;
        info[0] = "";
        info[2] = "";
    }
    else
    {
        info[1] = ToString (obj.selectedIndex);
        info[0] = obj.options[obj.selectedIndex].value;
        info[2] = obj.options[obj.selectedIndex].text;
    }
    info[3] = obj.length;
    return info;
}

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

prohiber les guillemets des formulaire [ par kishkaya ] voile je n'y connais rien en javascript, je vous demande pas de me faire ca mais j'arrive vraiment pasj'aimerai afficher une alerte lorsque un seul de valider un formulaire avec un href [ par margin ] Bonjour, J'ai toujours utiliser des "input" "type='submit'" pour valider des formulaires. Mon client me demande de valider les formulaires de son pro formulaire: verrouiller un input [ par MeuSli ] Bonjour,Je cherche a verouiller un input de type text x, si je n'ai rien saisi dans un autre input de type text y.Je sais comment verrouiller l'input. Un lien mailto qui me génère des erreures lorsqu'il y a trop d'informations dans le mail... [ par Michel W ] Bonjour! Pour commencer, désolé si je ne poste pas au bon endroit ou si cette question à déja été posée, j'ai déja fait une recherche infructueuse... formulaire texte avec droit d'entrée [ par rebirth60 ] bonjour a tousj'aimerai mettre sur ma page index un formulaire texte dans lequel les personnes doivent mettre leur nom, leur email et leur fonction. j copier le contenu d'un input dans un autre [ par christobal ] Bonjour, j'aimerai faire en sorte que le contenu d'un INPUT d'un formulaire se réplique dans un autre INPUT du même formulaire et automatiquement.Dans Vérification de formulaire [ par Allan007 ] Bonjour à tous,je débute en JS, j'ai récupérer par ci et par la des vérifications de formulaire pour me donner une idée puis j'en ai fait un a ma sauc Restituer dans un formulaire les informations précédement renseignées [ par mcflysupersonic ] Bonjour &#224; tous,Voici ce que je souhaiterai faire:Un utilisateur rempli les champs d'un formulaire puis en cliquant sur un bouton "continuer" se r Récupérer la valeur d'un bouton radio dans un formulaire sharepoint [ par Socki ] Bonjour,Après de nombreuses recherches je viens vous demander de l'aide.Je souhaiterais, dans mon formulaire sharepoint faire en sorte que quand je co Récupération du nom d'un formulaire depuis un input de ce formulaire [ par alexflex25 ] Bonjour,Je voulais savoir si il était possible de récupérer le nom du formulaire à partir d'un "input" dans se formulaire?exemple:&lt;form name="formu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.