J'ai 2 champs entier avec comme valeur des entiers $_POST['sub_cat'], $_POST['scoreAct'], le champs dont l'id est sub_cat est de type select et liée à une autre liste déroulante dans le formulaire (joursemaine) donc il est mis à jour dynamiquement dans le formulaire, et le champs scoreAct, sa valeur est lu directement de la base de donnée à partir d'une requete select, ce que je veux réaliser est que la valeur du champs scoreAct change automatiquement à chaque fois que le champs sub_cat est mis à jour, la nouvelle valeur du champs scoreAct doit être égale à la somme du de sa valeur actuel + la nouvelle valeur du champs sub_cat, j'ai entendu parler de la fonction onChange de JS et j'ai essayé avec mais ça n'a pas marché, à chaque fois que le champs sub_cat est mis à jour, le champs scoreAct ne change pas, j'ai ce code mais il ne fonctionne pas :  
le script updateOP1Bis.php qui contient le formulaire
	
	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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
   | <?php 
	include('config.php'); 
require 'database.php';
	mysql_query("set NAMES utf8");
$query_parent = mysql_query("SELECT * FROM joursemaine") or die("Query failed: ".mysql_error());
 
	$id = null;
	if ( !empty($_GET['id'])) {
		$id = $_REQUEST['id'];
	}
 
	if ( null==$id ) {
		header("Location: chaufAffect.php");
	}
 
 
?>
 
<!doctype html>
<html>
<head>
<meta charset="utf-8">
 <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
 
<title>Dependent DropDown List</title>
<script type="text/javascript" src="jsBis/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
 
	$("#parent_cat").change(function() {
		$(this).after('<div id="loader"><img src="img/loading.gif" alt="loading subcategory" /></div>');
		$.get('loadsubcat.php?parent_cat=' + $(this).val(), function(data) {
			$("#sub_cat").html(data);
			$('#loader').slideUp(200, function() {
				$(this).remove();
			});
		});	
    });
 
});
</script>
</head>
 
<body>
 
<form name="forme" class="form-horizontal" action="updateOP1Bis.php?id=<?php echo $id?>" method="post">
 
 
 
	  <div class="control-group">
	<label for="category">joursemaine:</label>
    <select name="parent_cat" id="parent_cat" onchange="myFunction()">
        <?php while($row = mysql_fetch_array($query_parent)): ?>
 
        <option value="<?php echo $row['id_joursemaine']; ?>"><?php echo $row['joursemaine']; ?></option>
        <?php endwhile; ?>
    </select>
    <br/><br/>
  </div>
 
    <!--score-->
   <div class="control-group">  
					 <label for="scoreAct" >scoreAct</label>
					    <div >
				<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT score FROM personnel WHERE id = {$id} ";
$q = $pdo->prepare($sql);
$q->execute();
$data = $q->fetchAll(PDO::FETCH_ASSOC);
Database::disconnect();
?>
<!--<select  size=1 name="score" id="score">
<option name="score" id="score" value="">--الرصيد الحالي --</option>-->
<?php foreach($data as $value): ?>
<input readonly  name="scoreAct" id="scoreAct"  type="text"   value="<?php echo $value['score'] ?>">
<?php endforeach; ?>
					    </div>
	                     </div>
 
					               <!--score-->
 
	  <div class="control-group">  
    <label for="sub_cat">sub_cat</label>
    <select  id="sub_cat" onchange="changeTest()" name="sub_cat"></select>
	</div>
 
 
 
 
 
	<div class="form-actions">
						  <button type="submit" class="btn btn-success">update</button>
						  <a class="btn" href="chaufAffect.php">back</a>
						</div>
 
 
</form>
 
<script>
function changeTest (  ) { 
var x = document.getElementById("sub_cat").value;
var xBis = document.getElementById("scoreAct").value;
forme.scoreAct.value = x + xBis; 
alert(xS);
}
</script>
 
</body>
</html> | 
 
le script loadsubcatBis responsable de la mise à jour du champs sub_cat
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | <?php 
include('config.php'); 
//require 'database.php';
 
 $parent_cat = $_GET['parent_cat'];
 
//$pdo = Database::connect();
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = mysql_query("SELECT * FROM scorejour WHERE id_joursemaine = {$parent_cat}");
while($row = mysql_fetch_array($query)) {
	echo "<option value='$row[id_score]'>$row[score]</option>";
	$sub_cat = $row['score'];
}
?> | 
 est ce quelqu'un peut m'aider à résoudre le problème ou à trouver une autre solution plus efficace je suis prête merci d'avance
						
					
Partager