2016-05-09 3 views
0

は、JS関数からASP.net隠しフィールドヌル

<asp:HiddenField ID="editcheck" runat="server"/> 

を参照について質問があります。 null参照エラーが関数に

var e = document.getElementById('<%=editcheck.ClientID%>'); 

線によってスローされるよう 関数がヒットされています。

すべてのアイデア?

おかげ

PS:ここ が例外をスロー実際のラインです。

if(e.value == "true") 
    return confirm("yadayad"); 

エラー状態の値は、ヌルオブジェクトまたは近いもので確認できません。だからこそ、私は要素を見てJS関数について質問しています。

+0

この特定の行は、 'document'がnullでない限り、JavaScriptランドでnull参照をスローすることはできません。これは本当のコードですか?どんな変数がnullですか? – Andrei

+0

実際、あなたは正しいです。例外は私が値をチェックする次の行にあります。要素変数 'e'の上にマウスを置くと、デバッガにもnullが表示されます。例外をスローする実際の行は次のとおりです。 'if(e.value ==" true ")return confirm(" yadayad ");' nullオブジェクトやそれに近いものでは値をチェックできないというエラー状態です。だからこそ、私は要素を見てJS関数について質問しています。ありがとう。 – michael

+0

この行はコメントには入りませんでした。とにかく、それは重要な部分ですので、質問に編集してください。 – Andrei

答えて

1

私は、HiddenFieldがブラウザに表示される前にスクリプトを呼び出すと思います。

スクリプトがHiddenFieldの後に呼び出されるようにすることはできますか?

<asp:HiddenField ID="editcheck" runat="server"/> 

document.getElementById('<%=editcheck.ClientID%>'); 

ORはあなたがDOMで操作する必要がある場合は非常に簡単であるjQueryのを使用することができます。次のスクリプトは、HiddenFieldをどこに配置するかは関係ありません。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>  
<script type="text/javascript"> 
    $(function() { 
     if ($("#<%= editcheck.ClientID %>").val() === "true") { 
      return confirm("yadayad"); 
     } 
    }); 
</script>   
<asp:HiddenField ID="editcheck" runat="server" /> 
+0

うーん、あなたは何かにいるかもしれない。マスターページから関数を登録しています。実際のページのボタンのonClientClickから呼び出すのですが、ページのpage_Loadイベントに再登録する必要がありますか?私はあなたと一緒に戻ってきます。ありがとう! – michael

+0

これはpage_loadに再登録されていません。変わりはない。スクリプトをページに入れてみることもできますが、私は他のスクリプトでそれをする必要はありませんでした。私はそれを動かすつもりです。 – michael

+0

jQueryスクリプトを追加しました。 – Win

関連する問題