我可怕的表单有所有内联点击。我想知道是否有人可以帮助我清理这个烂摊子,因为我需要正确运行它。在 Fido 上,我只能使用内联,这很糟糕。我希望有人能帮忙!
内联JS
function calc_total() {
f=document.etg_p_print_form;
t=document.etg_p_print_form.total_price;
tt=0;
for(i=1;i<17;i++)
{
if (f.elements['abo_single['+i+']'])
{
if(f.elements['abo_single['+i+']'].length>0)
{
if(f.elements['abo_single['+i+']'][0].checked==true)
{
var tpr = f.elements['price_abo['+i+']'].value*f.elements['quantity['+i+']'].value;
var tpr2 = f.elements['price_abo['+i+']'].value*f.elements['quantity['+i+']'].value;
tpr_repl=number_format(tpr);
tpr_repl_num=tpr_repl.lastIndexOf('.');
f.elements['sum['+i+']'].value=tpr_repl.substring(0,tpr_repl_num)+'.'+tpr_repl.substring(tpr_repl_num+1,tpr_repl.length);
tt +=tpr2;
} else {
var tpr = f.elements['price_single['+i+']'].value*f.elements['quantity['+i+']'].value;
var tpr2 = f.elements['price_single['+i+']'].value*f.elements['quantity['+i+']'].value;
tpr_repl=number_format(tpr);
tpr_repl_num=tpr_repl.lastIndexOf('.');
f.elements['sum['+i+']'].value=tpr_repl.substring(0,tpr_repl_num)+'.'+tpr_repl.substring(tpr_repl_num+1,tpr_repl.length);
tt +=tpr2;
}
} else {
if(f.elements['abo_single['+i+']'].value=='abo')
{
var tpr = f.elements['price_abo['+i+']'].value*f.elements['quantity['+i+']'].value;
var tpr2 = f.elements['price_abo['+i+']'].value*f.elements['quantity['+i+']'].value;
tpr_repl=number_format(tpr);
tpr_repl_num=tpr_repl.lastIndexOf('.');
f.elements['sum['+i+']'].value=tpr_repl.substring(0,tpr_repl_num)+'.'+tpr_repl.substring(tpr_repl_num+1,tpr_repl.length);
tt +=tpr2;
} else {
var tpr = f.elements['price_single['+i+']'].value*f.elements['quantity['+i+']'].value;
var tpr2 = f.elements['price_single['+i+']'].value*f.elements['quantity['+i+']'].value;
tpr_repl=number_format(tpr);
tpr_repl_num=tpr_repl.lastIndexOf('.');
f.elements['sum['+i+']'].value=tpr_repl.substring(0,tpr_repl_num)+'.'+tpr_repl.substring(tpr_repl_num+1,tpr_repl.length);
tt +=tpr2;
}
}
}
}
tt_repl=number_format(tt);
tt_repl_num=tt_repl.lastIndexOf('.');
t.value=tt_repl.substring(0,tt_repl_num)+'.'+tt_repl.substring(tt_repl_num+1,tt_repl.length);
}
function number_format(val)
{
var nval='';
var nnval='';
var val=val.toFixed(2);
for(ii=0;ii<val.length;ii++)
{
var tval=eval(ii+1);
pos=eval(val.length-tval);
nval += val.substr(pos,1);
var test_val=eval(tval);
var test_val=eval(test_val/3);
if(test_val==test_val.toFixed(2) && tval!=val.length && eval(test_val)!=1)
{
nval += '\'';
}
}
for(z=0;z<nval.length;z++)
{
var ntval=eval(z+1);
var npos=eval(nval.length-ntval);
nnval += nval.substr(npos,1);
}
return nnval;
}
</script>
HTML
<form action=" " method="post" name="etg_p_print_form" class="form-calculator">
<input type="radio" name="abo_single[1]" value="abo" checked onChange="calc_total();" onClick="calc_total();" />
<input type="hidden" name="price_abo[1]" value="529" />
<br>
<input type="radio" name="abo_single[1]" value="single" onChange=";calc_total();" onClick="calc_total();" />
<input type="hidden" name="price_single[1]" value="90" />
<br>
how many?
<input type="text" class="input" name="quantity[1]" value="0" size="2" maxlength="2" onChange="if(isNaN(this.value)) { alert('HELLO'); this.value=0; } calc_total();" />
<br>
<br>
price<input type="hidden" name="tit_prod[1]" value="EurotaxListe PKW" />
529.00
<input type="text" class="input" name="sum[1]" value="0.-" readonly onChange="calc_total();" />
<br>
<p>Total
<input type="text" name="total_price" value="0.-" readonly onChange="calc_total();" />
</p>
</form>