1

以下のjavascriptと関数はjoomla1.5で完璧に機能しますが、2.5では機能しないようです-どんな逃走でも..その適格性計算機

フォームが送信されるたびに検証が機能していないようです-検証は2.5、php5.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> 
4

1 に答える 1

0

スクリプトは機能します。ただし、Alert の場合は 2 つの方法があります

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.' ) );
于 2013-05-11T23:35:39.010 に答える