2017-02-10 20 views
0

私はぼかしを発生させるJavaScript関数を持っています。私が最初に実行したときには不思議にもうまくいきました。それ以来、私はJavaScript関数が定義されていないというエラーを受けています。私は同様の問題を探検したが、アドバイスのいずれも問題を解決することができなかった。 Asp.Net 3.5 Webフォーム(重要な場合)問題に無関係な機能やコード行を追加しました。問題は私が大事な機能であるupdateFiscalGridについて考えていることです。イベントにバインドするHTMLは関数の下にあります。ブラウザの開発ツールを使用してJavaScript関数が定義されていないエラー(定義されています)

<%@ Page MasterPageFile="~/MasterPages/NPRPage.Master" CodeBehind="NPRFundingApplication.aspx.cs" Inherits="Tea.Hcf.Web.Secured.NPRFundingApplication" AutoEventWireup="true" Language="C#" EnableEventValidation="true" MaintainScrollPositionOnPostback="true" %> 

<%@ Register TagPrefix="ew" Namespace="eWorld.UI" Assembly="eWorld.UI" %> 
<%@ Register TagPrefix="hcf" Namespace="Tea.Hcf.Web" Assembly="Tea.Hcf.Web" %> 
<%@ Register Src="../Controls/NpCdnSearch.ascx" TagName="NpCdnSearch" TagPrefix="np1" %> 
<%@ Register Src="../Controls/NpStudentRoster.ascx" TagName="NpStudentRoster" TagPrefix="np2" %> 

<script type="text/javascript" language="javascript"> 
    //<![CDATA[ 

    function showMaxWin(nUrl) { 
     var h = 600; 
     var w = 800; 
     var features = 'resizable=1, width=' + w + ', height=' + h + ', top=0, left=0'; 
     NewWin = window.open(nUrl, 'NewWin', features); 
    } 

    function dateChangedCallback() { 
     updateSubTotals(); 
    } 

    function updateFiscalGrid(){ 
     var RelatedServicesCost = document.getElementById('<%= RPCB_SUPP_SVCS_SUBTOTAL3.ClientID %>').value; 
     var ResidentialCare = document.getElementById('<%= RPCB_RES_SVCS_SUBTOTAL3.ClientID %>').value; 
     var TotalCostforResPlacement = document.getElementById('<%= TotalResidentialPlacement.ClientID %>').value; 
     var SetAside = document.getElementById('<%= rblSetAsideMet.ClientID %>').value; 
     var LocalTaxSubtraction = document.getElementById('<%= LocalTaxShareSubtraction.ClientID %>').value; 
     var IDEABRelatedServiceCost = document.getElementById('<%= RelatedServicesSetAside.ClientID %>').value; 
     var IDEABDiscretionaryServicesCost = document.getElementById('<%= RelatedServicesDiscretionary.ClientID %>').value; 
     var IDEABREsidentialCare = document.getElementById('<%= ResidentialCareSetAside.ClientID %>').value; 
     var IDEABDiscResCare = document.getElementById('<%= ResidentialCareDiscretionary.ClientID %>').value; 
     var StateFSP = document.getElementById('<%= TotalEducationServices2.ClientID %>').value; 
     var Discretionary = document.getElementById('<%= DiscretionaryTotal.ClientID %>').value; 
     var IDEABAward = document.getElementById('<%= IdeaBAward.ClientID %>').value; 
     if(SetAside = '0'){ 
      Discretionary = LocalTaxSubtraction + IDEABRelatedServiceCost + IDEABDiscretionaryServicesCost + IDEABREsidentialCare + IDEABDiscResCare; 
     } 
     else { 
      Discretionary = LocalTaxSubtraction + IDEABDiscretionaryServicesCost + IDEABDiscResCare; 
     } 
     IDEABAward = (RelatedServicesCost + ResidentialCare + TotalCostforResPlacement) - Number(Discretionary)); 
     //IDEABAward = (Number(RelatedServicesCost) + Number(ResidentialCare) + Number(TotalCostforResPlacement)) - Number(Discretionary)); 
     document.getElementById('<%= DiscretionaryTotal.ClientID %>').value = Discretionary; 
     document.getElementById('<%= IdeaBAward.ClientID %>').value = IDEABAward; 
    } 


    //]]> 
</script> 




    <td> 
     <hcf:CurrencyBox ID="LocalTaxShareSubtraction" OnBlur= "updateFiscalGrid();" Precision="2" runat="server" /> 
    </td> 
+0

こんにちは!コードを検査しましたか?私はブラウザで意味します。たぶんあなたのJavaScript関数 '<%%>'の中に設定されている変数がスクリプトにエラーを引き起こしているため、関数が '定義されていません' – MarceloBarbosa

+0

私はこれを解決しました!それは余分だった) –

答えて

2

コンソールから手動で関数を呼び出すことができるかどうかを確認。あなたはまだ機能を取得する場合は、次の操作を行い定義されていません:あなたはマスターページを使用する場合、タイプミスのため

  • チェックが
  • 、あなたはコンテナタグ内にスクリプトのページの参照を付けていないことを確認します(これを取得実際のページの内容で上書き、これは個人的な経験笑)
  • クリアキャッシュからのものであり、一日の終わりにページ
+0

私はそれを解決したと言うことになった。余分なカッコ –

0

をリロードし、サーバー側のコードは問題ではありません。私は他のサーバー側の言語で書かれている可能性があります。

ブラウザでエラーが発生した場合は、サーバー側のコードで生成されたjavascriptコードを確認する必要があります。

関数が実際に定義されているかどうかを確認することができます。そうでない場合は、サーバー側のJavaScriptコードの生成に何か問題があります。

関連する問題