Hexagora Forum
Hexagora Forum
Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Dynamic HTML Editor
 Dynamic HTML Editor
 Problemi con radiobutton,eventi e parse
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Northwind
Novice

Italy
8 Posts

Posted - 29 Nov 2007 :  18:13:49  Show Profile  Visit Northwind's Homepage  Reply with Quote
Qualcuno sa spiegarmi perch? nei form, i valori generati da un radiobutton tramite l'evento onclick susseguentemente non riescono ad essere letti (parsed) da un'altra funzione??
Mi spiego meglio ... (sic) ho tre radiobutton, che tramite l'evento onclick,(... javacall,if (this.checked){IMPORTODOMINIO.value=70 ; IMPORTOUNATANTUM.value=120 ; IMPORTOSUBDOMINIO.value=0};return somma1()...) generano un importo in alcuni campi testo (p.e.: IMPORTOUNATANTUM, IMPORTOSUBDOMINIO, ...)
La medesima funzione di onclick richiama poi una funzione nell'HEAD chiamata somma1() che dovrebbe effettuare una serie di calcoli. Ma l? invece il parse non funziona, dandomi un messaggio di errore del tipo..."IMPORTODOMINIO.value" ? nullo o non ? un oggetto ...
Non s? come venirne fuori, [2 ?:-|] le ho provate un p? tutte ma non c'? niente da fare.

Se volete vedere il form : http://www.civites.it/prove/preventivopec.htm

Grazie a chi sapesse indicarmi dove sbaglio.

Tramontana


Northwind
______________________________________________________________________
La vita ? breve, vediamo di godercela il pi? possibile, ...quindi non incazz...con me!

Edited by - Northwind on 02 Dec 2007 00:04:47

s.dav
Site Admin

Italy
3364 Posts

Posted - 03 Dec 2007 :  09:21:29  Show Profile  Visit s.dav's Homepage  Reply with Quote
Un paio di suggerimenti:
1- controlla le varie parseInt; di default usano la base 8 :-0 quindi quando lo usi ti consiglio sempre di usare parseInt(n,10); specificando la base
2- ti consiglio di utilizzare all'interno di FORM solo campi posizionati in modo relativo; tu li hai lasciati posizionati in assoluto; probabilmente ? per questo che usando document.nomeform.nomecampo non funzionano perch? i vari campi sono ognuno generati all'interno di un DIV che serve per posizionarli.
3- Se vuoi lasciare invece tutto com'? prova usando document.getElementById("tuocampo").text e vedrai che funziona


Regards, Davide
Go to Top of Page

Northwind
Novice

Italy
8 Posts

Posted - 07 Dec 2007 :  08:53:30  Show Profile  Visit Northwind's Homepage  Reply with Quote
Ciao Davide,

grazie della risposta, purtroppo non funziona nessuna delle Tue soluzioni proposte.
De facto non riconosce, o meglio non ? capace di leggere nessuno dei campi (IMPORTOPEC.value ....) quando si richiama la funzione somma1() o calcolatotale().
Ho provato con parseInt, parseFloat e getElementByID, ma mi dice sempre che "i campi sono nulli o non sono degli oggetti" ...

riposto la pagina: http://www.civites.it/prove/preventivopec.htm br /

o se preferite il codice html generato da DHE:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Civites Italia - POSTA ELETTRONICA CERTIFICATA</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="GENERATOR" content="Dynamic HTML Editor v.3.3 - http://www.hexagora.com">
<meta name="KEYWORDS" content="PEC, POSTA ELETTRONICA CERTIFICATA, LEGALMAIL, LEGAL EMAIL, LEGALEMAIL">
<meta name="DESCRIPTION" content="Form calcolo preventivo Pec - Posta Elettronica Certificata">
<meta name="AUTHOR" content="Christian">
<meta name="COPYRIGHT" content="Civites Italia">
<script language="javascript" type="text/javascript">
<!--
var isNS=document.layers?true:false;
var isIE=(document.all!=null)||(navigator.userAgent.indexOf('MSIE')!=-1);
var isDom2=document.getElementById;
var fVers=parseFloat(navigator.appVersion);
if (!isDom2 && ((isNS && fVers<4)||(isIE && fVers<4)))
alert("Your browser is very old. Please upgrade it if you want to see this page correctly.");

//-->
</script>
<script language="javascript" type="text/javascript" src="filescalcolapreventivopec/dhwe3x.js"></script>


<SCRIPT LANGUAGE="JavaScript">
// Funzione per la formattazione dei campi valuta
<!-- Begin
function formatCurrency(num) {
num = num.toString().replace(/\|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + num + ',' + cents);
}
// End -->
</script>

<SCRIPT LANGUAGE="JavaScript">
//costruiamo la formula per il calcolo del importo delle caselle pec
<!-- Begin
function totalepec(){
num_caselle = parseInt(document.forms[0].NPEC.value,10);
if (!(isNaN(document.forms[0].NPEC.value))) {
if (document.forms[0].NPEC.value != ""){
if (document.forms[0].NPEC.value <= 10) {
xnum1 = parseInt(document.forms[0].NPEC.value,10)
IMPORTOPEC = xnum1 * 20
}
if ((document.forms[0].NPEC.value >= 11) && (document.forms[0].NPEC.value <= 50)) {
xnum1 = parseInt(document.forms[0].NPEC.value,10)
IMPORTOPEC = xnum1 * 15
}
if ((document.forms[0].NPEC.value >= 51) && (document.forms[0].NPEC.value <= 100)) {
xnum1 = parseInt(document.forms[0].NPEC.value,10)
IMPORTOPEC = xnum1 * 10
}
if ((document.forms[0].NPEC.value >= 101) && (document.forms[0].NPEC.value <= 250)) {
xnum1 = parseInt(document.forms[0].NPEC.value,10)
IMPORTOPEC = xnum1 * 8
}
if (document.forms[0].NPEC.value > 250) {
xnum1 = parseInt(document.forms[0].NPEC.value,10)
IMPORTOPEC = xnum1 * 6
}
document.forms[0].IMPORTOPEC.value = formatCurrency(IMPORTOPEC);
} else {
IMPORTOPEC = 0,00;
alert('Specificare il Numero di Caselle.');
document.forms[0].NPEC.select();
return somma1();
}
}
}
// End -->
</script>

<script language="JavaScript" type="text/JavaScript">
<!--
//costruiamo la formula per il calcolo del totale imponibile
function somma1() {
var form = document.forms["FORMPREVENTIVO"]
var A = parseInt(form.IMPORTOPEC.value,10);
var B = parseInt(form.IMPORTOSUBDOMINIO.value,10);
var C = parseInt(form.IMPORTODOMINIO.value,10);
var D = parseInt(form.IMPORTOUNATANTUM.value,10);
var F = parseInt(form.IMPORTOLOGO.value,10);
var G = parseInt(form.IMPORTOQUOTESPAZIO.value,10);

var imponibiletot = (A+B+C+D+F+G)*1;
form.IMPONIBILE.value = formatCurrency(imponibiletot);
var ivatot = imponibiletot * 0.2;
form.IVA.value = formatCurrency(ivatot);
return calcolatotale();
}

//costruiamo la formula per il calcolo del totale generale
function calcolatotale() {
var form = document.forms["FORMPREVENTIVO"];
var A3 = parseInt(form.IMPORTOPEC.value,10);
var B3 = parseInt(form.IMPORTOSUBDOMINIO.value,10);
var C3 = parseInt(form.IMPORTODOMINIO.value,10);
var D3 = parseInt(form.IMPORTOUNATANTUM.value,10);
var F3 = parseInt(form.IMPORTOLOGO.value,10);
var G3 = parseInt(form.IMPORTOQUOTESPAZIO.value,10);

var totalegen = (A3+B3+C3+D3+F3+G3)*1.2;
form.TOTALE_GENERALE.value = formatCurrency(totalegen);
}

</script>

<link rel="stylesheet" type="text/css" href="filescalcolapreventivopec/preventivopec.css">

</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#800080">
<div id="dhecenterdiv1" align="left">
<div id="ldheLabel48" style="position: absolute; left: 33px; top: 893px; width: 543px; height: 30px; text-align: justify;" align="left">
<span class="arial90FFFFFFt">Attivazione dominio ed inserimento Vs. logo aziendale, incluso <br>Pannello di Gestione per caselle e-mail, una tantum: ............................................ Euro 200,00</span></div>
<form id="Form1" name="Form1" style="position: absolute; left: 1px; top: 0px;" action="" method="post">
<table border="0" cellspacing="1" cellpadding="0" bgcolor="#000000"><tr><td width="589" height="500" bgcolor="#E3E3E3" valign="top"><table width="575" border="0" cellspacing="0" cellpadding="0"><tr><td><img src="filescalcolapreventivopec/blank.gif" width="5" height="78" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="56" height="1" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="189" height="1" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="88" height="1" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="104" height="1" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="42" height="1" border="0" alt=""></td><td><img src="filescalcolapreventivopec/blank.gif" width="90" height="1" border="0" alt=""></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="31" border="0" alt=""></td><td></td><td></td><td valign="top"><input type="radio" id="RadioSMART" name="TIPOPEC" onclick="if (this.checked){IMPORTODOMINIO.value=0; IMPORTOUNATANTUM.value=0; IMPORTOSUBDOMINIO.value=0};return somma1();return false;" onmouseout="IMPORTOSUBDOMINIO.value=formatCurrency(IMPORTOSUBDOMINIO.value);IMPORTODOMINIO.value=formatCurrency(IMPORTODOMINIO.value);IMPORTOUNATANTUM.value=formatCurrency(IMPORTOUNATANTUM.value);" value="Smart" checked></td><td valign="top"><input type="radio" id="RadioBUSINESS" name="TIPOPEC" onclick="if (this.checked){IMPORTOSUBDOMINIO.value=50; IMPORTOUNATANTUM.value=0; IMPORTODOMINIO.value=0}; return somma1();return false;" onmouseout="IMPORTOSUBDOMINIO.value=formatCurrency(IMPORTOSUBDOMINIO.value);IMPORTODOMINIO.value=formatCurrency(IMPORTODOMINIO.value);IMPORTOUNATANTUM.value=formatCurrency(IMPORTOUNATANTUM.value);" value="Business"></td><td valign="top"><input type="radio" id="RadioBUSINESSADVANCE" name="TIPOPEC" onclick="if (this.checked){IMPORTODOMINIO.value=70; IMPORTOUNATANTUM.value=120 ; IMPORTOSUBDOMINIO.value=0};return somma1();return false;" onmouseout="IMPORTODOMINIO.value=formatCurrency(IMPORTODOMINIO.value);IMPORTOUNATANTUM.value=formatCurrency(IMPORTOUNATANTUM.value);IMPORTOSUBDOMINIO.value=formatCurrency(IMPORTOSUBDOMINIO.value);" value="Advantage"></td><td></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="33" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTOSUBDOMINIO" name="IMPORTOSUBDOMINIO" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="32" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTODOMINIO" name="IMPORTODOMINIO" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="30" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTOUNATANTUM" name="IMPORTOUNATANTUM" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="33" border="0" alt=""></td><td></td><td valign="top"><input type="text" id="NPEC" name="NPEC" style="width: 50px; height: 20px;" class="numero" onchange="totalepec(); return somma1();" value="" maxlength="4"></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTOPEC" name="IMPORTOPEC" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="12"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="37" border="0" alt=""></td><td valign="top"><input type="checkbox" id="CHECKLOGO" name="CHECKLOGO" onclick="if(this.checked){IMPORTOLOGO.value=50,00} else {IMPORTOLOGO.value=0,00}; return somma1();return false;" onblur="somma1();" onmouseout="IMPORTOLOGO.value=formatCurrency(IMPORTOLOGO.value);" value=""></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTOLOGO" name="IMPORTOLOGO" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="53" border="0" alt=""></td><td></td><td valign="top"><input type="text" id="NQUOTESPAZIO" name="NQUOTESPAZIO" style="width: 50px; height: 20px;" class="numero" onblur="IMPORTOQUOTESPAZIO.value=formatCurrency(IMPORTOQUOTESPAZIO.value);" onchange="IMPORTOQUOTESPAZIO.value=NQUOTESPAZIO.value*15,00; return somma1();" value="" maxlength="4"></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPORTOQUOTESPAZIO" name="IMPORTOQUOTESPAZIO" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="36" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IMPONIBILE" name="IMPONIBILE" style="width: 90px; height: 20px;" class="importo" onchange="formatCurrency(IMPONIBILE.value,10);" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="34" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="IVA" name="IVA" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr><tr><td><img src="filescalcolapreventivopec/blank.gif" width="1" height="20" border="0" alt=""></td><td></td><td></td><td></td><td></td><td></td><td valign="top"><input type="text" id="TOTALE_GENERALE" name="TOTALE_GENERALE" style="width: 90px; height: 20px;" class="importo" value="0,00" maxlength="7"></td></tr></table><div id="ldheLabelNumeroSmart" style="position: absolute; left: 112px; top: 205px;" align="left">
<img id="LabelNumeroSmart" name="LabelNumeroSmart" src="filescalcolapreventivopec/preventivopec_labelnumerosmart.png" width="151" height="20" border="0" alt=""></div>
<div id="ldheLabelCostoSmart" style="position: absolute; left: 351px; top: 205px;" align="left">
<img id="LabelCostoSmart" name="LabelCostoSmart" src="filescalcolapreventivopec/preventivopec_labelcostosmart.png" width="131" height="20" border="0" alt=""></div>
<div id="ldheLabelTitoloPreventivo" style="position: absolute; left: 114px; top: 11px; width: 316px; height: 24px; text-align: center;" align="left">
<span class="arial160FFFFFFtb">PREVENTIVO PEC</span></div>
<div id="ldheLabelSmart" style="position: absolute; left: 271px; top: 79px; width: 40px; height: 20px; text-align: justify;" align="left">
<table border="0" cellspacing="0" cellpadding="0"><tr><td width="40" height="20" align="left" valign="middle" style="text-align: justify;"><span class="arial100FFFFFFt">Smart</span></td></tr></table></div>
<div id="ldheLabelBusiness" style="position: absolute; left: 359px; top: 79px; width: 54px; height: 20px; text-align: justify;" align="left">
<table border="0" cellspacing="0" cellpadding="0"><tr><td width="54" height="20" align="left" valign="middle" style="text-align: justify;"><span class="arial100FFFFFFt">Business</span></td></tr></table></div>
<div id="ldheLabelBusinessAdvance" style="position: absolute; left: 463px; top: 79px; width: 112px; height: 20px; text-align: justify;" align="left">
<table border="0" cellspacing="0" cellpadding="0"><tr><td width="112" height="20" align="left" valign="middle" style="text-align: justify;"><span class="arial100FFFFFFt">Business Advance</span></td></tr></table></div>
<div id="ldheLabelTipolgiaPec" style="position: absolute; left: 10px; top: 79px; width: 241px; height: 20px; text-align: justify;" align="left">
<table border="0" cellspacing="0" cellpadding="0"><tr><td width="241" height="20" align="left" valign="middle" style="text-align: justify;"><span class="arial100FFFFFFt">Tipolgia di Dominio Pec Desiderata:</span></td></tr></table></div>
<div id="ldheLabelDominio" style="position: absolute; left: 10px; top: 111px;" align="left">
<img id="LabelDominio" name="LabelDominio" src="filescalcolapreventivopec/preventivopec_labeldominio.png" width="475" height="20" border="0" alt=""></div>
<div id="ldheLabelNumeroSpazio" style="position: absolute; left: 10px; top: 276px;" align="left">
<img id="LabelNumeroSpazio" name="LabelNumeroSpazio" src="filescalcolapreventivopec/preventivopec_labelnumerospazio.png" width="52" height="20" border="0" alt=""></div>
<div id="ldheLabelCostoSpazio" style="position: absolute; left: 351px; top: 276px;" align="left">
<img id="LabelCostoSpazio" name="LabelCostoSpazio" src="filescalcolapreventivopec/preventivopec_labelcostospazio.png" width="131" height="20" border="0" alt=""></div>
<div id="ldheLineaTotale1" style="position: absolute; left: 346px; top: 309px;" align="left">
<table width="229" border="0" cellspacing="0" cellpadding="0" bgcolor="#000000"><tr><td width="229" height="1" bgcolor="#000000"><img src="filescalcolapreventivopec/blank.gif" border="0" alt=""></td></tr></table></div>
<div id="ldheButton1" style="position: absolute; left: 75px; top: 452px;" align="left">
<input type="button" id="Button1" name="Button1" style="width: 100px; height: 25px;" onclick="calcolatotale();return false;" value="CALCOLA"></div>
<div id="ldheButton2" style="position: absolute; left: 249px; top: 452px;" align="left">
<input type="button" id="Button2" name="Button2" style="width: 100px; height: 25px;" value="STAMPA"></div>
<div id="ldheLabelNumeroPersonalizzazione" style="position: absolute; left: 30px; top: 238px;" align="left">
<img id="LabelNumeroPersonalizzazione" name="LabelNumeroPersonalizzazione" src="filescalcolapreventivopec/preventivopec_labelnumeropersonalizzazione.png" width="455" height="20" border="0" alt=""></div>
<div id="ldheLabelIva" style="position: absolute; left: 351px; top: 364px;" align="left">
<img id="LabelIva" name="LabelIva" src="filescalcolapreventivopec/preventivopec_labeliva.png" width="131" height="20" border="0" alt=""></div>
<div id="ldheLabelTotale" style="position: absolute; left: 351px; top: 398px;" align="left">
<img id="LabelTotale" name="LabelTotale" src="filescalcolapreventivopec/preventivopec_labeltotale.png" width="131" height="20" border="0" alt=""></div>
<div id="ldheLabelImponibile" style="position: absolute; left: 288px; top: 329px;" align="left">
<img id="LabelImponibile" name="LabelImponibile" src="filescalcolapreventivopec/preventivopec_labelimponibile.png" width="194" height="20" border="0" alt=""></div>
<div id="ldheButton3" style="position: absolute; left: 415px; top: 452px;" align="left">
<input type="reset" id="Button3" name="Button3" style="width: 100px; height: 25px;" value="CANCELLA"></div>
<div id="ldheGrLabel1" style="position: absolute; left: 10px; top: 144px;" align="left">
<img id="GrLabel1" name="GrLabel1" src="filescalcolapreventivopec/preventivopec_grlabel1.png" width="475" height="20" border="0" alt=""></div>
<div id="ldheGrLabel3" style="position: absolute; left: 10px; top: 175px;" align="left">
<img id="GrLabel3" name="GrLabel3" src="filescalcolapreventivopec/preventivopec_grlabel3.png" width="475" height="20" border="0" alt=""></div>
<div id="ldheGrLabel2" style="position: absolute; left: 114px; top: 275px;" align="left">
<img id="GrLabel2" name="GrLabel2" src="filescalcolapreventivopec/preventivopec_grlabel2.png" width="223" height="20" border="0" alt=""></div>
<div id="ldheGrLabel4" style="position: absolute; left: 10px; top: 205px;" align="left">
<img id="GrLabel4" name="GrLabel4" src="filescalcolapreventivopec/preventivopec_grlabel4.png" width="56" height="20" border="0" alt=""></div>
</td></tr></table></form></div>
</body>
</html>

Qualcuno ha qualche soluzione da proporre o trova un errore?

Grazie sin d'ora per qualsiasi suggerimento o correzione

Northwind
______________________________________________________________________
La vita ? breve, vediamo di godercela il pi? possibile, ...quindi non incazz...con me!
Go to Top of Page

s.dav
Site Admin

Italy
3364 Posts

Posted - 07 Dec 2007 :  11:13:21  Show Profile  Visit s.dav's Homepage  Reply with Quote
Mandami una mail con il file .dhe e una breve spiegazione del problema e te lo risolvo.

Regards, Davide
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Hexagora Forum © s.dav Go To Top Of Page
Snitz Forums 2000