JAVA Modification d'un champ avec une liste déroulante

JAVA Modification d'un champ avec une liste déroulante - Java - Programmation

Marsh Posté le 06-01-2011 à 10:38:58    

Bonjour à tous,
 
j'ai un problème, je dois terminer le code d'un site intranet et j'ai une difficulté :
 
J'ai besoin de modifier la valeur d'un champ numérique en fonction d'une liste déroulante. Cette liste contient juste les valeurs "M²", "Are" et "Hectare".
 
J'avoue que je suis débutant en Javascript et que je n'ai pas fait de PHP depuis un moment...
 
Voici le php :
 
/* Choix unité superficie */                    
 
    $unitesuperficie = new Zend_Form_Element_Select('unitesuperficie');
    $unitesuperficie->addMultiOptions ($this->listunitesuperficie())
                     ->addDecorators($this->_myElementSpanDecorators);
      ->setAttrib('onChange' =>Unitesuperf(lignparc_superficie));
 
//...
 
 function listunitesuperficie() {
 
        // Appel de mon modèle de table
        $Tunitesuperficie = new Tunitesuperficie();
         
        // Extraction de mes données
        $Unitesuperficies = $Tunitesuperficie->selectData();
         
        $USlist = array(2);
        $USlist[0] = "M²";
  $USlist[1] = "Are";
  $USlist[2] = "Hectare";
        foreach ($Unitesuperficies as $Unitesuperficie) {
            $list[$Unitesuperficie->id_unite] = $Unitesuperficie->libunite;
        } // Eof:: foreach
         
        return $USlist;
         
    }

 
et voici le Javascript :
 
<code type="javascript">
 
function Unitesuperf(lignparc_superficie){
 
  if ($USlist = "M²" )
  {
   document.getElementById('lignparc_superficie')=document.getElementById('lignparc_superficie');
  }
  else if ($USlist = "Are";)
  {
   document.getElementById('lignparc_superficie')=document.getElementById('lignparc_superficie')/100;
  }
  else if ($USlist= "Hectare";)
  {
   document.getElementById('lignparc_superficie')=document.getElementById('lignparc_superficie')/10000;
  }
}
 
</code>

 
 
 
Toute aide serait la bienvenue.  :D  
 
(et s'il vous plait ne faites pas une attaque en voyant mon code)

Reply

Marsh Posté le 06-01-2011 à 10:38:58   

Reply

Marsh Posté le 06-01-2011 à 19:36:03    

je vais faire un petit truc je sais pas trop si c'est ca que tu avais besoin :
 

Citation :

function changerchamp(couleur)
{
        document.getElementById('nomduchamp').value = valeurAAttribuer;
}


 
Donc en l'occurence pour ton Cas :
 

Citation :

function Unitesuperf(lignparc_superficie){
 
nomvariables = document.getElementById('lignparc_superficie');
 
  if ($USlist = "M²" )
  {
   nomvariables.value; // cette ligne , pour moi, est inutile
  }
  else if ($USlist = "Are";)
  {
   nomvariables.value = nomvariables.value/100;
  }
  else if ($USlist= "Hectare";)
  {
   nomvariables.value=nomvariables.value/10000;
  }
}


 
essaye ca


Message édité par booster44 le 06-01-2011 à 19:38:18
Reply

Marsh Posté le 10-01-2011 à 08:27:37    

Bonjour booster44,

 

pour commencer merci de ta réponse, j'ai fait les modifs que tu m'as conseillé.

 

Cependant, j'ai un problème lors de l'appel de cette fonction via le php.

 

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in E:\web\www\intranet2\application\models\forms\FLignParc.php on line 123

 


Ce qui correspond à la dernière ligne de ce bout de code :
    $unitesuperficie = new Zend_Form_Element_Select('unitesuperficie');
    $unitesuperficie->addMultiOptions ($this->listunitesuperficie())
                     ->addDecorators($this->_myElementSpanDecorators);
      ->setAttribs('onChange' => 'Unitesuperf(lignparc_superficie)');

 

Tu saurais d'où vient le problème ?


Message édité par Crameureur le 10-01-2011 à 10:13:29
Reply

Marsh Posté le 17-01-2011 à 08:46:13    

Personne ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed