Disparition valeurs après submit même page
Fermé
Yorgat
Messages postés
125
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2012
-
4 nov. 2005 à 18:01
Yorgat Messages postés 125 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 5 décembre 2012 - 7 nov. 2005 à 11:55
Yorgat Messages postés 125 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 5 décembre 2012 - 7 nov. 2005 à 11:55
A voir également:
- Disparition valeurs après submit même page
- Supprimer une page word - Guide
- Traduire une page - Guide
- Word numéro de page 1/2 - Guide
- Page d'accueil iphone - Guide
- Créer une page facebook - Guide
5 réponses
Faudrait que tu mette ton code pour pouvoir mieux te répondre... je crois savoir ce qui ne vas peut etre pas mais sans le code pour vérifier...c'et un peu plus dur ^^
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
5 nov. 2005 à 09:01
5 nov. 2005 à 09:01
Met voir ton code stp ;)
Yorgat
Messages postés
125
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2012
7
7 nov. 2005 à 10:17
7 nov. 2005 à 10:17
Merci de m'aider.
OK .. voici le code du fichier.php
_______________________
le code de CIR_db.php (Lié dans la page PHP ci dessus)
___________________
Et le code du CIR.js (Lié dans la page PHP ci dessus)
OK .. voici le code du fichier.php
<html> <head> <!-- Liaison vers le Javascript qui traite les données du formulaire --> <script type="text/javascript" src="./CIR.js"></script> </head> <body> <form method="post" name="CIR_calculator" onsubmit="calculerCIR(document.CIR_calculator.RD_an_encours.value,document.CIR_calculator.RD_an_moins1.value,document.CIR_calculator.RD_an_moins2.value,document.CIR_calculator.ReportNeg.value,document.CIR_calculator.CumulAnt.value)"> <div align="center"> <table width="50%"> <tr><td colspan="4" align="center"></td></tr> <tr> <td><input type="text" maxlength="10" size="10" name="RD_an_moins2" value="0"/></td> <td><input type="text" maxlength="10" size="10" name="RD_an_moins1" value="0"/></td> <td><input type="text" maxlength="10" size="10" name="RD_an_encours" value="0"/></td> </tr> <tr> <td><input type="text" maxlength="10" size="10" name="ReportNeg" value="0"/></td> </tr> <tr> <td><input type="text" maxlength="10" size="10" name="CumulAnt" value="0"/></td> </tr> <tr><td><input type="submit" name="calculeCIR" value="Lancer l'estimation"/></td> </tr> <tr> <td><input type="text" maxlength="10" size="10" name="Part_volume"/></td> </tr> <tr> <td><input type="text" maxlength="10" size="10" name="Part_accr"/></td> </tr> <tr> <td><input type="text" maxlength="10" size="10" name="Total_CIR"/></td> </tr> </table></div> </form> <!-- Liaison vers le fichier d'envoi des variables vers une base MySQL --> <?php include("./CIR_db.php")?> </body> </html>
_______________________
le code de CIR_db.php (Lié dans la page PHP ci dessus)
<? $nom = $_POST['nom']; $fonction = $_POST['fonction']; $societe = $_POST['societe']; $email = $_POST['email']; $rd_an_moins2 = $_POST['RD_an_moins2']; $rd_an_moins1 = $_POST['RD_an_moins1']; $rd_an_encours = $_POST['RD_an_encours']; $credit_neg = $_POST['ReportNeg']; $cumul_pos = $_POST['CumulAnt']; $part_vol = $_POST['Part_volume']; $part_accr = $_POST['Part_accr']; $total_cir = $_POST['Total_CIR']; $nom=str_replace("'", "\'", "$nom"); $fonction=str_replace("'", "\'", "$fonction"); $societe=str_replace("'", "\'", "$societe"); $email=str_replace("'", "\'", "$email"); $nom=str_replace('"', '\"', "$nom"); $fonction=str_replace('"', '\"', "$fonction"); $societe=str_replace('"', '\"', "$societe"); $email=str_replace('"', '\"', "$email"); $connexion = mysql_connect("localhost","mon_login","******"); mysql_select_db("datab",$connexion); $requete = "insert into estimation_cir values('',NOW(), '$nom','$fonction','$societe','$email','$rd_an_moins1','$rd_an_moins2','$rd_an_encours','$credit_neg','$cumul_pos','$part_vol','$part_accr','$total_cir')"; mysql_query($requete) or print mysql_error(); mysql_close(); ?>
___________________
Et le code du CIR.js (Lié dans la page PHP ci dessus)
// Détection du navigateur ... je ne sais pas trop ce que je vais en faire encore // var whoami=navigator.userAgent.toLowerCase(); //use lower case name var my_version = parseInt(navigator.appVersion); //get version var is_ie = (whoami.indexOf("msie") != -1); //does name contain 'msie'? var is_ie3 = (is_ie && (my_version < 4)); //is it version 3? if ( is_ie3 ) { }; // Fonction qui traite les données numériques du formulaire et en affiche les résultats. Pas de retour particulier. Renvoie donc "true" à 'onsubmit' du formulaire function calculerCIR(a,b,c,d,e){ // CONSTANTES var INDICE_REVAL1 = 1.03; var INDICE_REVAL2 = 1.03; var POURCENT_PART_VOLUME = 0.2; var POURCENT_PART_ACCR = 0.5; var PLAFOND = 6000; //VARIABLES var rd_an_en_cours=a; var rd_an_moins1=b; var rd_an_moins2=c; var cir_negatif=d; var cumul_ant=e; var total_cir=0; var part_accr=0; var cir_accroissement=0; var part_volume=0; // Traitement des variables avant calcul rd_an_en_cours = Replace(rd_an_en_cours,",","."); rd_an_moins1 = Replace(rd_an_moins1,",","."); rd_an_moins2 = Replace(rd_an_moins2,",","."); cir_negatif = Replace(cir_negatif,",","."); cir_negatif = parseFloat(MakeNegative(cir_negatif)); parseFloat(rd_an_en_cours); parseFloat(rd_an_moins1); parseFloat(rd_an_moins2); parseFloat(cir_negatif); part_volume = parseFloat(rd_an_en_cours*POURCENT_PART_VOLUME); // Ce calcul peut être simplifié, mais je l'ai découpé pour bien le suivre. var rd_1_reval = parseFloat(rd_an_moins1*INDICE_REVAL1); var rd_2_reval = parseFloat(rd_an_moins2*INDICE_REVAL2); var sum = parseFloat(rd_1_reval+rd_2_reval); var div2 = parseFloat(sum/2); var diff = parseFloat(rd_an_en_cours - div2); cir_accroissement = parseFloat(POURCENT_PART_ACCR*diff); part_accr = parseFloat(cir_accroissement+(parseFloat(cir_negatif))); alert("Part accroissement après report : " +part_accr); if (part_accr < 0){ if (part_volume > PLAFOND){ var temp = (part_volume - PLAFOND)/PLAFOND; part_volume = PLAFOND; total_cir = part_volume; alert(part_accr+ "avant"); part_accr = part_accr-part_accr*temp; alert(part_accr+ "après"); } else{total_cir = part_volume;} if (Math.abs(part_accr) > cumul_ant){ part_accr = parseFloat(MakeNegative(cumul_ant)); } } else { total_cir = part_accr + part_volume; if(total_cir > PLAFOND){ var temp1 = parseFloat(part_accr/total_cir); var temp2 = parseFloat(part_volume/total_cir); part_accr = temp1*PLAFOND; part_volume = temp2*PLAFOND; total_cir = part_accr + part_volume; } } // Affichage des nouveaux éléments: document.CIR_calculator.Part_volume.value = part_volume; document.CIR_calculator.Part_accr.value = part_accr; document.CIR_calculator.Total_CIR.value = total_cir; }// function calculerCIR(a,b,c,d,e) // Fonction générique pour remplacer dans 'target', la chaine ou le caractère 'todo' par la chaine ou le caractère 'withwhat' function Replace ( target, todo, withwhat) { var fixme = target; var atpos = fixme.indexOf(todo); while ( atpos > -1) { fixme = fixme.substring(0,atpos) + withwhat + fixme.substring(todo.length + atpos); atpos = fixme.indexOf(todo); }; return fixme; }// function Replace // Fonction générique qui vérifie la négativité ou rend négatif n'importe quel nombre 'target' function MakeNegative(target){ var temp=target; var ret; if (temp.indexOf("-") == -1){ ret = "-"+temp; } else{ret = temp;} return ret; }// function MakeNegative(target)
Utilisateur anonyme
7 nov. 2005 à 11:13
7 nov. 2005 à 11:13
Ne te casse pas la tête.
Dans ta balise form, supprime le code suivant:
Remplace ton bouton:
par un bouton 'simple':
Au début de ta fonction calculerCIR(), insère le code suivant:
Ajoute à la fin de ta fonction calculerCIR(), le code suivant:
Et ça devrait fonctionner...
Si cela ne fonctionne pas, ajoute dans ta balise form le code en gras ci-dessous:
;-)
HackTrack
Dans ta balise form, supprime le code suivant:
onsubmit="calculerCIR(document.CIR_calculator.RD_an_encours.value,document.CIR_calculator.RD_an_moins1.value,document.CIR_calculator.RD_an_moins2.value,document.CIR_calculator.ReportNeg.value,document.CIR_calculator.CumulAnt.value)"
Remplace ton bouton:
<input type="submit" name="calculeCIR" value="Lancer l'estimation"/>
par un bouton 'simple':
<input type="button" name="calculeCIR" value="Lancer l'estimation" onclick="calculerCIR(document.CIR_calculator.RD_an_encours.value,document.CIR_calculator.RD_an_moins1.value,document.CIR_calculator.RD_an_moins2.value,document.CIR_calculator.ReportNeg.value,document.CIR_calculator.CumulAnt.value)"/>
Au début de ta fonction calculerCIR(), insère le code suivant:
moulinette();
Ajoute à la fin de ta fonction calculerCIR(), le code suivant:
document.getElementsByName("CIR_calculator")[0].submit();
Et ça devrait fonctionner...
Si cela ne fonctionne pas, ajoute dans ta balise form le code en gras ci-dessous:
<form method="post" name="CIR_calculator" id="CIR_calculator">
;-)
HackTrack
Yorgat
Messages postés
125
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2012
7
7 nov. 2005 à 11:19
7 nov. 2005 à 11:19
Merci pour ta réponse, je vais voir ça. j'avais commencé avec un boutton normal comme tu le suggères, à l'origine, mais j'ai lu sur un site que c'était plus réglo et sur d'utiliser submit.
C'est quoi "moulinette();" ?
C'est quoi "moulinette();" ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Yorgat
Messages postés
125
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2012
7
7 nov. 2005 à 11:50
7 nov. 2005 à 11:50
Hmm .. au final, les valeurs sont toujours envoyées, mais elles finissent toujours par disparaitrent du formulaire.
Est ce que je devrais les garder en mémoire et les réafficher dans les champs après le submit ? Je vais essayer.
Est ce que je devrais les garder en mémoire et les réafficher dans les champs après le submit ? Je vais essayer.
Yorgat
Messages postés
125
Date d'inscription
mercredi 5 novembre 2003
Statut
Membre
Dernière intervention
5 décembre 2012
7
7 nov. 2005 à 11:55
7 nov. 2005 à 11:55
Ca marche pas ... gné