Declancher automatiquement une fonction Js

Fermé
skykiller31 Messages postés 112 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 5 août 2011 - 12 oct. 2009 à 05:42
gu-guss Messages postés 70 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 15 octobre 2009 - 14 oct. 2009 à 19:04
Bonjour tout le monde,
j'espere que ce n'est pas trop compliqué ce que je demande alors voilà ce que je fais avec du php:

for ($i=1;$i<=10;$i++)
{
$affectation=mysql_fetch_array ($result);
$codep=$affectation['IDPRODUIT'];
.......
...
...
...
echo '<form action="mapage.php" method="POST" nom="form" >';
echo '<input type="hidden" name="numb" value="'.$codep.'" >';
echo '<input type="SUBMIT" name="Executer" value="Voir Details" ';
if($codep==""){
echo 'disabled="disabled" ';
}
echo '>';
echo '</form>';


tout fonctionne bien mais je voudrais faire la meme chose avec du javascript et là j'aimerai savoir comment le déclencher automatiquement.

voici mon code javascript:

<script language="javascript">

function checkdetails()
{
for(i=1;i<=10;i++){
if (document.form(i).numb.value=="")
document.form(i).Executer.disabled=true;
else
document.form(i).Executer.disabled=false;
}
}
</script>
</head>
<body ......... onload="checkdetails()">


et bien sur au niveau de mon code php je nomerai mes forms de cette façon :

echo '<form action="mapage.php" method="POST" nom="form('.$i.')" >';


à votre avis?

4 réponses

gu-guss Messages postés 70 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 15 octobre 2009 1
12 oct. 2009 à 13:53
J'ai pas bien compris ce que tu veux faire mais au niveau du js essaie ça :

function checkdetails()
{
for(i=1;i<=10;i++) {
var form=document.getElementsByName('form'+i)[0];
if (form.numb.value=="")
document.form.Executer.disabled=true;
else
document.form.Executer.disabled=false;
}
}
0
skykiller31 Messages postés 112 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 5 août 2011 5
14 oct. 2009 à 15:43
merci gu guss pour ton aide je teste ça et je te tiendrai au courant ;)
0
skykiller31 Messages postés 112 Date d'inscription dimanche 20 avril 2008 Statut Membre Dernière intervention 5 août 2011 5
14 oct. 2009 à 15:58
:s ça n'a pas marché cette fois ci non plu, par contre j'aimerai bien comprendre cet indice:
var form=document.getElementsByName('form'+i)[0];

il sert à quoi au juste?
à part ça les formulaire q j'ai généré avec php sont només de cette façon: form1 form2 form3.....jusqu'à form10

tu vois pkoi ça marche pas?
0
gu-guss Messages postés 70 Date d'inscription vendredi 25 juillet 2008 Statut Membre Dernière intervention 15 octobre 2009 1
14 oct. 2009 à 19:04
Il faut enlever le "document." il est déjà inclus ds la vari form !! c'est ma faute pas celle du js hhhhh
lavar form c'est pr récupérer le nom des formulaires

Voilà le code :
Remplace ta variable $codep par une val diff de "" et les boutons serons actiV

////////////////////////////////////////////////
<?php $Nb_formulaire=10; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<script type="text/javascript">
function checkdetails()
{
for(i=1;i<=<?php echo $Nb_formulaire; ?>;i++) {
var form=document.getElementsByName('form'+i)[0];
if (form.numb.value=="") {
form.Executer.disabled=true;

}
else
form.Executer.disabled= false;
}
}

//-->
</script>
</head>

<body onload="checkdetails()">
<?php
$codep="";
for ($i=1;$i<=$Nb_formulaire;$i++)
echo '<form id="form'.$i.'" name="form'.$i.'" method="post" action="">
Formulaire '.$i.' <input name="numb" type="hidden" id="numb" value="'.$codep.'" />
<input name="Executer" type="button" id="Executer" value="Executer" />
</form>
';?>
</body>
</html>
0