je travail sur la réalisation d'une interface et je rencontre un probleme (depuis 5 jours) que je n'arrive pas a résoudre tous seul.
L'idée c'est que jai 9 boutons, 8 representant un pc et un representant une travée (donc un bouton pour representer les 8 autre)
une fois cliqué sur les boutons de positions je récupere la valeur du bouton et je l'envoie au php,
pour le bouton de travée j'ai crée une boucle for pour envoyer 8 fois les valeurs de chaque bouton corespondant a la travée.
Le php devrait a chaque fois qu'il recoit ma variable 'bootajout' incrementer ma variable 'nbclientssel' (tandi que la variable 'bootsuppr' decrémentera la variable 'nbclientssel'),
ce qui marche SAUF la premiere fois si on clique sur mon bouton de travée, il recoit bien 8 fois la variable 'bootajout' mais ne fait aucune incrémentation (il l'a met a 1, 8 fois)
Mais si on reclique dessus plusieurs fois les nouvelles executions ce déroulerons comme prévut.
<?php
session_start();
if (isset($_POST['bootajout'])){ // Ici on va ajouter l'adresse mac corespondant a la position
if (!isset($_SESSION['nbclientssel'])){
$_SESSION['nbclientssel'] = 0;
}
$_SESSION['nbclientssel']++; // Ici on determine combien de post son selectioné actuelement
echo $_SESSION['nbclientssel'];
unset($_POST['bootajout']);
}
if (isset($_POST['bootsuppr'])) {
$_SESSION['nbclientssel']--;
echo $_SESSION['nbclientssel'];
unset($_POST['bootsuppr']);
}
?>
<HTML>
<HEAD>
<SCRIPT type="text/javascript" src="jquery.js"></SCRIPT>
<SCRIPT type="text/javascript" src="test.js"></SCRIPT>
<SCRIPT type="text/javascript" src="deploiement/formulaireghost.js"></SCRIPT>
<LINK rel="stylesheet" media="screen" type="text/css" title="Design" href="test.css" />
</HEAD>
<BODY>
<?php
session_start();
?>
<DIV class="E5traveeE">
<BUTTON class="E5travee" id="E5E" title="Travée E" value='E,off'></BUTTON>
<DIV class="E5traveeE1">
<BUTTON class="E5position" id="E5E14" title="E 1.4" value='E14,off'></BUTTON>
<BUTTON class="E5position" id="E5E13" title="E 1.3" value='E13,off'></BUTTON>
<BUTTON class="E5position" id="E5E12" title="E 1.2" value='E12,off'></BUTTON>
<BUTTON class="E5position" id="E5E11" title="E 1.1" value='E11,off'></BUTTON>
</DIV>
<DIV class="E5traveeE2">
<BUTTON class="E5position" id="E5E24" title="E 2.4" value='E24,off'></BUTTON>
<BUTTON class="E5position" id="E5E23" title="E 2.3" value='E23,off'></BUTTON>
<BUTTON class="E5position" id="E5E22" title="E 2.2" value='E22,off'></BUTTON>
<BUTTON class="E5position" id="E5E21" title="E 2.1" value='E21,off'></BUTTON>
</DIV>
</DIV>
</body>
</html>
[javascript]$(document).ready(function() {
$('.E5travee').click(function () {
var testonoff = $(this).val(); // recup la value du bouton
var tab = testonoff.split(','); // ici on sépare les informations pour pouvoir les ciblés
if( tab[1] == "off" ){ // ici on regarde si c'est on ou off
if(confirm('Souhaitez vous vraiment ajouter la travee "' + tab[0] + '" a la selection?')) {
testonoff = testonoff.replace('off','on'); // ici on remplace le off par on
$(this).css('background-position', '0 -21px' ); // ici on a mis le changement des positions des boutons
var pos = 11; // on place la premiere positions(a savoir que les positions serons toujours les suivantes :11,12,13,14,21,22,23,24)
for(i=1;i<=8;i++){ // ici on va recuperer toutes les positions, si off les envoyer au php
var testonoff2 = $('#E5'+ tab[0] + pos ).val(); // recup la value du bouton ciblé grace a la var pos
var verifoff = testonoff2.indexOf('off');
var verifon = testonoff2.indexOf('on');
if(verifoff !== -1){
testonoff2 = testonoff2.replace('off','on'); // on passe le off en on
$('#E5'+ tab[0] + pos ).val(testonoff2); // et on l'insert
var bootajout = 'LEV2-5-' + tab[0] + pos ; // ici on recompose le nom total de la position
$.ajax({ // et on l'envoi
url: 'scripts/wolcmd/wolcmd.php',
type : "POST",
data : 'bootajout=' + bootajout,
success: function(repmodif) {
alert(repmodif);
}
});
$('#E5'+ tab[0] + pos ).css('background-position', '0 -53px' ); // ici on a mis le changement des positions des 8 boutons
}
else if(verifon !== -1){
// alert('le bouton' + tab[0] + pos + 'etait up');
}
else{
// ici alert probleme 132
}
if(pos==14){pos = 21;}
else{pos++;}
}
}
}
else{
if(confirm('Souhaitez vous vraiment supprimer la travee "' + tab[0] + '" a la selection?')) {
testonoff = testonoff.replace('on','off'); // ici on remplace le on par off
$(this).css('background-position', '0 0' );
var pos = 11;
for(i=1;i<=8;i++){
var testonoff2 = $('#E5'+ tab[0] + pos ).val();
var verifoff = testonoff2.indexOf('off');
var verifon = testonoff2.indexOf('on');
if(verifon !== -1){
var bootsuppr = 'LEV2-5-' + tab[0] + pos ;
$.ajax({
url: 'scripts/wolcmd/wolcmd.php',
type : "POST",
data : 'bootsuppr=' + bootsuppr,
success: function(repmodif) {
alert(repmodif);
}
});
$('#E5'+ tab[0] + pos ).css('background-position', '0 0' );
testonoff2 = testonoff2.replace('on','off'); // on la change
$('#E5'+ tab[0] + pos ).val(testonoff2); // et on l'insert
}
else if(verifoff !== -1){
// alert('le bouton' + tab[0] + pos + 'etait off');
}
else{
}
if(pos==14){pos = 21;}
else{pos++;} // ici on incrémente le numero de la position
}
}
}
$(this).val(testonoff); // et on l'insert
});
});
[/javascript]
Quelle peut être la solution pour résoudre le problème et quelle est le dit problème?
Par avance merci