[英]Javascript works in 1.5 but does not work in joomla 2.5
下面的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>
脚本将起作用。 但是对于Alert,您有两种方法
1) http://docs.joomla.org/JDocument
http://docs.joomla.org/JDocument/addScriptDeclaration
要么
2)使用jquery显示您的警报标签
满怀帮助
例:
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.' ) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.