以下javascript和函数在joomla 1.5中完美无缺,但似乎它在2.5中无效 - 任何逃避..它是一个资格计算器
似乎验证在表单提交时无法正常工作 - 验证不会在2.5,php 5.3中执行
<td><input name="calc" type="button" class="red-btn" onClick="javascript:return(validate())" style="width:65" value="Calculate Eligibility" />
<input type="reset" name="reset" value="Reset" class="red-btn" /></td>
我无法点击提交,即使我点击没有任何反应
以下是调用的脚本
function validate()
{
var income,Coapplnincome,vOtherLonAmt,deduct,IntRate,LoanTenure;
var totInterest,totemi,ElgibleLon;
if(!document.eligib_calc.income.value)
{
alert("Please enter Applicants gross monthy income");
document.eligib_calc.income.focus();
return false;
}
if(isNaN(document.eligib_calc.income.value))
{ alert("Please Enter Numeric value for Income");
document.eligib_calc.income.focus();
return false;
}
if(!document.eligib_calc.Coapplnincome.value)
document.eligib_calc.Coapplnincome.value=0;
else if(isNaN(document.eligib_calc.Coapplnincome.value))
{ alert("Please Enter Numeric value for Co applicant Income");
document.eligib_calc.Coapplnincome.focus();
return false;
}
if(!document.eligib_calc.OtherLonAmt.value)
document.eligib_calc.OtherLonAmt.value=0;
else if(isNaN(document.eligib_calc.OtherLonAmt.value))
{ alert("Please Enter Numeric value for other loans");
document.eligib_calc.OtherLonAmt.focus();
return false;
}
if(!document.eligib_calc.deduct.value)
document.eligib_calc.deduct.value=0;
else if(isNaN(document.eligib_calc.deduct.value))
{ alert("Please Enter Numeric value for Deductions");
document.eligib_calc.deduct.focus();
return false;
}
if(!document.eligib_calc.IntRate.value)
{
alert("Please enter Interest Rate(in %)");
document.eligib_calc.IntRate.focus();
return false;
}
if(isNaN(document.eligib_calc.IntRate.value))
{ alert("Please Enter Numeric value for Interest Rate(in %)");
document.eligib_calc.IntRate.focus();
return false;
}
if(!document.eligib_calc.LoanTenure.value)
{
alert("Please enter Loan Tenure");
document.eligib_calc.LoanTenure.focus();
return false;
}
if(isNaN(document.eligib_calc.LoanTenure.value))
{ alert("Please Enter Numeric value for Loan Tenure");
document.eligib_calc.LoanTenure.focus();
return false;
}
income=document.eligib_calc.income.value;
Coapplnincome=document.eligib_calc.Coapplnincome.value;
OtherLonAmt=document.eligib_calc.OtherLonAmt.value;
deduct=document.eligib_calc.deduct.value;
IntRate=document.eligib_calc.IntRate.value;
LoanTenure=document.eligib_calc.LoanTenure.value;
totInterest=(parseInt(income)+parseInt(Coapplnincome))-(parseInt(OtherLonAmt)+parseInt(deduct));
totemi=EMI(100000,document.eligib_calc.IntRate.value,document.eligib_calc.LoanTenure.value);
ElgibleLon=(totInterest*(0.4)/(totemi));
//document.eligib_calc.emi.value=Math.ceil(totemi)+" per Lakh";
ElgibleLon=ElgibleLon*100;
ElgibleLon=Math.round(ElgibleLon);
ElgibleLon=ElgibleLon/100;
document.eligib_calc.ElgibleLon.value=ElgibleLon+" Lakhs";
}
function EMI(vAmt,IntRate,LoanTenure)
{
var terms;
var numAmt,denAmt;
var emiv;
terms=12;
numAmt=vAmt*Math.pow((1+IntRate/(terms*100)),LoanTenure);
denAmt=100*terms*(Math.pow((1+IntRate/(terms*100)),LoanTenure)-1)/IntRate;
emiv=12*(numAmt/(denAmt*12));
emiv=Math.round(emiv);
return emiv;
}
</script>
答案 0 :(得分:0)
脚本将起作用。但对于Alert,你有两种方法
1)http://docs.joomla.org/JDocument
http://docs.joomla.org/JDocument/addScriptDeclaration
或
2)使用jquery
显示你的警报标记标签
hopfuly帮助
示例:
function getJavaScript($message) {
$javascript .= 'if(window.addEventListener){ // Mozilla, Netscape, Firefox' . "\n";
$javascript .= ' window.addEventListener("load", function(){ alert("' . $message . '");}, false);' . "\n";
$javascript .= '} else { // IE' . "\n";
$javascript .= ' window.attachEvent("onload", function(){ alert("' . $message . '");});' . "\n";
$javascript .= '}';
return $javascript;
}
$doc =& JFactory::getDocument();
$doc->addScriptDeclaration( getJavaScript( 'This will appear in an alert box after the page loads.' ) );