[Javascript] document.form.objet.value pb IE

Résolu
Salut à tous !

Je tiens à signaler que je débute en javascript.

Donc voilà mon soucis :
j'ai créé une fonction en js qui est parfaitement fonctionnelle sur Firefox mais pas sur IE 7. Vous trouverez ci-dessous la partie de code qui pose probleme :

function fctajax(typeprod,budget)
{
var montypeprod = document.accessoires.typeprod.value.split('(');
var montypeprod = montypeprod[0];
alert(montypeprod);
.......
}
}

en fait IE ne comprend pas "document.accessoires.typeprod.value" et ne me retourne rien dans le alert de la ligne 3 tandis que Firefox le comprend et execute la fonction sans erreur.
Je tiens par ailleurs a préciser que le comportement est le meme avec un alert(document.accessoires.typeprod.value); placé en premiere ligne dans la fonction

Si vous avez des idées n'hésitez pas ! ;)

15 réponses

  1. Probleme Résolu !!
    Je tiens a te remercier pour ton aide resalut.

    En fait pour IE il faut écrire le code de la maniere suivante :

    function fctajaxx(typeprod,budget)
    {
    var montypeprod = document.getElementById(typeprod);
    alert(montypeprod.options[montypeprod.selectedIndex].text);
    }

    Ceci est spécifique bien entendu à la balise select.
    1. change le par document.getElementById("idduchamp").value;

      et rajoute id="idduchamp" dans le input que tu veux
      1. Merci pour ta réponse mais malheureusement ca n'y change rien, c'est toujours fonctionnel sur Firefox mais pas sur IE :o
        1. ta une erreur kkpart alors (jutilise cette fonction tous les jours sur ie)
          1. essai
            var a = document.getElementById("idduchamp").value;
            var b = a.split('(');
            var montypeprod = b[0];
            alert(montypeprod);
            1. Je m'en doute bien en effet :p
              Le probleme est que je ne pense pas avoir fait d'erreur dans mon code HTML définit comme suit :

              <form name="accessoires">
              <select name="typeprod" id="typeprod">
              <?php mon code php ?>
              </select>
              <input type="text" id="budget" name="budget" size="5" />
              </form>
              <input type="submit" value="OK" onclick="javascript:fctajax('typeprod','budget'); return false;" />

              d'autant que firefox interprete bien ma fonction :o
              1. J'ai essayé
                var a = document.getElementById("idduchamp").value;
                var b = a.split('(');
                var montypeprod = b[0];
                alert(montypeprod);

                mais ca n'y change rien car IE ne comprend pas document.getElementById("idduchamp").value à ma grande surprise :o
                en revanche il comprend tres bien document.accessoires.budget.value pour mon champ <input>
                1. >> Pk ta mis return false ?

                  Car ma fonction execute de l'AJAX. Par contre l'erreur ne vient pas de là.
                  Pour + de précision ca sert a indiquer au moteur javascript d'arreter de bosser une fois la fonction executée.
                  1. et pour ce que tu a fait j'aurai fait :

                    function fctajax(ids,budget)
                    {
                    var a = document.getElementById(ids).value;
                    var b = a.split('(');
                    var montypeprod = b[0];
                    alert(montypeprod);
                    .......
                    }
                    1. function fctajaxx(typeprod,budget)
                      {
                      alert(document.getElementById(typeprod).value);
                      }

                      alert ne retourne rien sur IE en revanche :

                      function fctajaxx(typeprod,budget)
                      {
                      alert(document.getElementById(budget).value);
                      }

                      alert retourne la bonne valeur oO
                      1. c'est bien ca qui me rend fou car l'id définit en HTML est le bon comme tu peux en juger :

                        <select name="typeprod" id="typeprod">

                        <input type="submit" value="OK" onclick="javascript:fctajaxx('typeprod','budget');" />

                        par ailleurs FF y arrive mais pas IE.