Actualiser value d'un input en javascript
Bonjour je voudrais actualiser la value de mon input en fonction des choix fait dans un formulaire, et ce sur la même page.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| <script language="JavaScript">
var tab = new Array();
function MAJPrix(formulaire,n){
var prix=0;
var longueur;
var i=0;
longueur=formulaire.elements.length;
for(i=0;i<longueur;i++){
if(formulaire.elements[i].checked){
prix+=parseFloat(tab[n][formulaire.elements[i].value]);
}
}
return prix;
document.getElementById('text_prix').value=prix;
}
function $(id){
return document.getElementById(id);
}
</script>
<?php
include 'connect_bdd.php';
$sql1='SELECT DISTINCT nom_form FROM formulaires;';
$test=fh_mysql_query($sql1);
$i=0;
while($result_nf=mysqli_fetch_array($test)){
$s.='<form name="'.$result_nf['nom_form'].'" id="'.$result_nf['nom_form'].'" action="./test2.php" method="POST">';
$sql2='SELECT nom_prod,prix,type,name FROM formulaires WHERE nom_form="'.$result_nf['nom_form'].'" ORDER BY ordre;';
$test1=fh_mysql_query($sql2);
$s.='<script type="text/javascript" language="javascript">';
$s.='tab["'.$result_nf['nom_form'].'"]= new Array();';
$s.='</script>';
while($result_prod=mysqli_fetch_array($test1)){
$s.='<script type="text/javascript" language="javascript">';
$s.='tab["'.$result_nf['nom_form'].'"]["'.$result_prod['nom_prod'].'"]='.$result_prod['prix'].';';
$s.='</script>';
$s.='<input type="'.$result_prod['type'].'" name="'.$result_prod['name'].'" onclick="alert(MAJPrix($(\''.$result_nf['nom_form'].'\'),\''.$result_nf['nom_form'].'\'))" value="'.$result_prod['nom_prod'].'" />'.$result_prod['nom_prod'].'<br>';
}
$s.='<input type="hidden" name="prix" value="'.$prix.'">';
$s.='</form><br>';
}
$s.='<input type="text" id="text_prix" name="prix" "readonly" value="" size=5 />';
echo $s;
?> |
donc est-ce possible en utilisant ce genre de méthode "document.getElementById('text_prix').value=prix;"
ou alors dois-je obligatoirement passer par du AJAX?