Probleme en javascript!!!!!!!!!!!
RésoluScalpweb Messages postés 1483 Statut Membre -
Je suis novice en programmation javascripte, et jaimerai trouver une solution a un probléme ke j'ai rencontré.
En fait, ma page est constitée d'un formulaire où l'utilisateur doit entrer des information qui seront traités vià une fonction Traiter()qui afficherai le traitement dans un tableau dans la meme page sans écraser le formulaire grace a l'evennement onclick .
si une personne a la solution jaimerai bien qu'il m'éclaire le plutot possible car c une application a rendre dans 2 jours.
Merci d'avance.
Configuration: Windows Vista Internet Explorer 7.0
30 réponses
- 1
- 2
Une demande porte sur l’affichage du traitement d’un formulaire JavaScript dans un tableau sur la même page, sans écraser le formulaire, et déclenché par l’événement onclick. La meilleure contribution montre un code qui construit et affiche le tableau via document.write dans Traiter(), puis met à jour des valeurs comme la Date, la Mensualité et le Total restants. Cependant, utiliser document.write après chargement efface la page et écrase le formulaire; il est préférable de manipuler le DOM en ajoutant des lignes à un tableau existant. Des échanges ultérieurs invitent à préciser le formulaire et le tableau à générer, et plusieurs répondants suggèrent d’éviter document.write au profit d’un affichage dynamique par DOM.
-
http://www.editeurjavascript.com/cours/index.php
http://javascript.internet.com/
https://www.javascript.com/
Ce sont les trois meilleures sources du net, mais comme tu captes pas l'anglais, ca va être cho cho cho les marrons pour apprendre l'anglais en 2 jours :) -
en fait c'est des urls de cours, il ya pleins de liens et ça me prendra une éternitée a fouiller .
si une personne a une solution claire et directe sous la mais ça serai bien :) -
en fait c'est un formpulaire où tu mets le montant d'un crédit, le nombre de mois (periode de remboursement), le taux d'interet et la date de la premiére échéance.
en clickant sur valider un tableau doit etre affiché en dessous du formulaire avec les dates de versement, le montant restant.....
le probléme c que ça marche mais ça écrase le formulaire. -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
//ceci est le code html de l'interface
<body bgcolor=#99CCFF text =#000066>
<form name ="Mafich">
<pre> <b> Montant du Crédit : </b> <input type="text name="txtMnt" > Dt </pre><br/> <br/>
<pre><p> <b> Nombre de Mois : </b> <input type="text" name="txtNb" > Mois </pre><br/> <br/>
<pre> <b> Taux : </b> <input type="text" name="txtTo" > % </pre><br/> <br/>
<pre> <b> Date de la premiere écheance : </b> <input type="text" name="txtDat" > </pre><br/> <br/>
<pre> <input type="button" name="Valid" value= "Valider" onClick="Traiter()"> <input type="reset"
name="Rest" value="Annuler"> </pre>
</form>
</body> -
-
// fonction traiter()
function Traiter()
{
var i =1;
var tableau = new Array();
credInt= parseFloat(document.forms["Mafich"].txtMnt.value) * ( (parseFloat(document.forms["Mafich"].txtTo.value)/100)+1);
mens= parseInt( credInt/parseInt(document.forms["Mafich"].txtNb.value));
var restant = credInt;
var pTotal = 0;
//partie affichage
document.write("<table border=\"1\" bordercolor=\"#000066\" >");
document.write("<tr>");
document.write("<td height=\"50\" width=\"300\" >"+"Date de versement"+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+"Mensualité"+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+"Total Restant"+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+"Total Remboursé"+"</td>");
dtj= getD(document.forms["Mafich"].txtDat.value);
while (i< parseInt(document.forms["Mafich"].txtNb.value))
{
restant= restant-mens;
pTotal=pTotal+mens;
document.write("<tr>");
document.write("<td height=\"50\" width=\"300\" >"+getDateCompact(dtj)+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+mens+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+restant+"</td>");
document.write("<td height=\"50\" width=\"300\" >"+pTotal+"</td>");
i++;
}
}
//getD= retourne la date de la zone de saisie en la covertissant en type date
//getcompact..() retourne la date sous format 12/12/2008 par exemple. -
Rajoutes ça à la fin pour commencer :
document.write("</tr>");
document.write("</table>");
Histoire de fermer le tableau. -
-
Bon... Je sais que je suis chaint, mais histoire d'aller plus vite, essayes de mettre TOUT ton code, HTML et JAVAscript
-
html>
<head>
<script type="text/javascript">
var dtj= new Date();
var credInt=0;
var mens=0;
function bissext(dt)
{
if((dt.getFullYear() % 4 == 0)&&(dt.getFullYear() % 100 !=0))
{
if (dt.getFullYear() % 400 ==0)
return true;
else
return false;
}
else
return false;
}
function getDateCompact(dt)
{
var y = dt.getFullYear();
var m = dt.getMonth()+1;
if (m<10)
{
m="0"+m;
}
var d = dt.getDate();
if(d<10)
{d="0"+d;}
return d+"/"+m+"/"+y;
}
function getD(da)
{
window.alert("Nos produits sont en general non perimes");
var day = da.substring(0,2);
var month = da.substring(3,5);
var year = da.substring(6,10);
var d = new Date();
d.setDate(day);
d.setMonth(month);
d.setFullYear(year);
return d;
}
function Info()
{
window.alert("Nos produits sont en general non perimes");
window.alert(document.forms["Mafich"].txtMnt.value);
}
function Traiter()
{
var i =1;
credInt= parseFloat(document.forms["Mafich"].txtMnt.value) * ( (parseFloat(document.forms["Mafich"].txtTo.value)/100)+1);
mens= parseInt( credInt/parseInt(document.forms["Mafich"].txtNb.value));
var restant = credInt;
var pTotal = 0;
//partie affichage
document.write("<table border=1 bordercolor='#333399'>");
document.write("<tr>");
document.write("<td height=50 width=300 >"+"Date de versement"+"</td>");
document.write("<td height=50 width=300 >"+"Mensualité"+"</td>");
document.write("<td height=50 width=300 >"+"Total Restant"+"</td>");
document.write("<td height=50 width=300 >"+"Total Remboursé"+"</td>");
document.write("</tr>");
document.write("</table>");
dtj= getD(document.forms["Mafich"].txtDat.value);
while (i<= parseInt(document.forms["Mafich"].txtNb.value))
{
restant= restant-mens; ////partie
pTotal=pTotal+mens;
window.alert(restant); ////traitement
i++; //encore inachevée
}
}
</script>
</head>
<body text =#000066>
<form name ="Mafich">
<pre> <b> Montant du Crédit : </b> <input type="text" name="txtMnt" > Dt </pre><br/> <br/>
<pre><p> <b> Nombre de Mois : </b> <input type="text" name="txtNb" > Mois </pre><br/> <br/>
<pre> <b> Taux : </b> <input type="text" name="txtTo" > % </pre><br/> <br/>
<pre> <b> Date de la premiere écheance : </b> <input type="text" name="txtDat" > </pre><br/> <br/>
<pre> <input type="button" name="Valid" value= "Valider" onClick="Traiter()"> <input type="reset" name="Rest" value="Annuler"> </pre>
<layer width="200" height="115" left="193" top="84" bgcolor="#666666">
Contenu du calque.
</layer>
</form>
</body>
</html> -
-
Voilà qui marche déjà un peu mieux :
<html> <head> <script type="text/javascript"> var dtj= new Date(); var credInt=0; var mens=0; function bissext(dt) { if((dt.getFullYear() % 4 == 0)&&(dt.getFullYear() % 100 !=0)) { if (dt.getFullYear() % 400 ==0) return true; else return false; } else return false; } function getDateCompact(dt) { var y = dt.getFullYear(); var m = dt.getMonth()+1; if (m<10) { m="0"+m; } var d = dt.getDate(); if(d<10) {d="0"+d;} return d+"/"+m+"/"+y; } function getD(da) { window.alert("Nos produits sont en general non perimes"); var day = da.substring(0,2); var month = da.substring(3,5); var year = da.substring(6,10); var d = new Date(); d.setDate(day); d.setMonth(month); d.setFullYear(year); return d; } function Info() { window.alert("Nos produits sont en general non perimes"); window.alert(document.forms["Mafich"].txtMnt.value); } function Traiter() { var i =1; var f = document.getElementById('resultat'); credInt= parseFloat(document.forms["Mafich"].txtMnt.value) * ( (parseFloat(document.forms["Mafich"].txtTo.value)/100)+1); mens= parseInt( credInt/parseInt(document.forms["Mafich"].txtNb.value)); var restant = credInt; var pTotal = 0; //partie affichage f.innerHTML = ("<table border=1 bordercolor='#333399'>"); f.innerHTML = f.innerHTML + ("<tr>"); f.innerHTML = f.innerHTML + ("<td height=50 width=300 >"+"Date de versement"+"</td>"); f.innerHTML = f.innerHTML + ("<td height=50 width=300 >"+"Mensualité"+"</td>"); f.innerHTML = f.innerHTML + ("<td height=50 width=300 >"+"Total Restant"+"</td>"); f.innerHTML = f.innerHTML + ("<td height=50 width=300 >"+"Total Remboursé"+"</td>"); f.innerHTML = f.innerHTML + ("</tr>"); f.innerHTML = f.innerHTML + ("</table>"); dtj= getD(document.forms["Mafich"].txtDat.value); while (i<= parseInt(document.forms["Mafich"].txtNb.value)) { restant= restant-mens; ////partie pTotal=pTotal+mens; window.alert(restant); ////traitement i++; //encore inachevée } } </script> </head> <body text =#000066> <form name ="Mafich"> <pre> <b> Montant du Crédit : </b> <input type="text" name="txtMnt" > Dt </pre><br/> <br/> <pre><p> <b> Nombre de Mois : </b> <input type="text" name="txtNb" > Mois </pre><br/> <br/> <pre> <b> Taux : </b> <input type="text" name="txtTo" > % </pre><br/> <br/> <pre> <b> Date de la premiere écheance : </b> <input type="text" name="txtDat" > </pre><br/> <br/> <pre> <input type="button" name="Valid" value= "Valider" onClick="Traiter()"> <input type="reset" name="Rest" value="Annuler"> </pre> <br /><br /> <div id='resultat' width="200" height="115" left="193" top="84" bgcolor="#666666"> Contenu du calque. </div> </form> </body> </html> -
-
désolée, j'étais pas devant mon ordi.. MERCI beaucoup Scalpweb !
-
Mais tu sais le border et bordercolor ne son pas reconnues!!??? pourtant la syntaxe est juste!!
-
Autant pour moi :
f.innerHTML = ("<table style=\"border: 1px solid #333399; \">"); -
de toutes façons c déja un super résulat Merci infiniment scalpweb!!!
-
oui je sais je vais le fair maisf.innerHTML = ("<table style=\"border: 1px solid #333399; \">");
===> ne marche pas :( -
- 1
- 2