11544 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde!

Dans une formulaire d'un projet que je suis en train de développer, je rencontre le problème suivant:

(je précise, je ne connais presque rien au JavaScript Smiley cligne )

J'aimerais qu'au chargement de la page, en fonction de la valeur d'un champ d'une base de données MySQL, une fonction JavaScript se charge ou non, pour qu'une série de champs soient actifs ou non.

Je m'explique:

J'ai la fonction ci-dessous qui s'exécute (activation de certains champs du formulaire) lorsqu'on sélectionne le bouton radio "2 pages dans la catalogue". À l'inverse, lorsqu'on sélectionne le bouton radion "1 page", une autre fonction désactive ces champs. J'utilise pour cela "onClick".

Code du formulaire:
<input type="radio" name="pages" value="0" checked="checked" onClick="disable2p()" /> <?php echo $exhib_antica['1page']; ?>
<input type="radio" name="pages" value="1" onClick="enable2p()" <?php if($data['two_pages']==1) {echo 'checked="checked"';} ?> /> <?php echo $exhib_antica['2pages']; ?>


Fonction JavaScript:
function enable2p()
{
	document.antica.painting_sculpture2.disabled=false;
	document.antica.legend2.disabled=false;
	document.antica.photograph2.disabled=false;
	document.antica.size2.disabled=false;
}

function disable2p()
{
	document.antica.painting_sculpture2.disabled=true;
	document.antica.painting_sculpture2.checked=false;
	document.antica.legend2.disabled=true;
	document.antica.photograph2.disabled=true;
	document.antica.size2.disabled=true;
}


Dans ma balise <body> du formulaire, j'ai placé une ligne en PHP qui, après avoir chopé les informations dans la base de données, pose un "if" sur la valeur du champ "two_pages". Si la valeur vaut "1", c'est le bouton radio "2 pages" qui est coché, et j'aimerais que la fonction qui active les champs en question soit appelée, mais ça ne fonctionne pas Smiley decu

<body>
<body onLoad="enableArtist1()" <?php if($data['two_pages']=='1') {echo 'onLoad="enable2p()"';} ?>>



Des idées?
J'aimerais vous faire visiter le site mais ce sont des accès restreints et je peu pas l'ouvrir comme ça à tout le monde Smiley decu


Merci pour votre précieuse aide!
Modifié par Aybee (25 Oct 2006 - 15:36)
Ce genre de truc ne serait pas plus simple/propre :

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
       func();
    }
  }
}

function mafonction1()
{
}

function mafonction2()
{
}

<?
 if (truc1)
echo "addLoadEvent(nomdelafonctionAcharger);";

if (truc2)
echo "addLoadEvent(fonction2);";
?>