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
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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