私のプロジェクトのページは、マスター ページとコンテンツ ページに基づいています...
すべてのマスターおよびコンテンツ要素が完全にロードされた後、コンテンツページの 1 つで (jquery ではなく) javascript を使用して何かを実行したい (たとえば、RadComboBox コントロールにフォーカスを設定する)
それを行うために、私は以下のコードを使用しました:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>
<script type="text/javascript">
onload = onloadOfDocument;
function onloadOfDocument() {
var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
alert(combo);
var comboInput = combo.get_inputDomElement();
comboInput.focus();
}
</script>
</asp:Content>
ただし、alert(combo);
常に null を返します$find
。
このnull
問題を解決するために、以下に示す方法をテストします。
1- RadComboBox コントロールを除くマスターおよびコンテンツ ページからすべてのコントロールを削除し、null の問題が解消されたので、マスターおよびコンテンツ ページのすべての要素がロードされていないときに null の問題を導き出しました。
$find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
解雇されます。
2-だから私は使った
$(document).ready(function() { my codes });
それ以外の
onload = onloadOfDocument;
しかし、問題は解決していません - 理由がわかりません!!!
3-最後に、以下のコードをテストすると、完全に機能します:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>
<script type="text/javascript">
//onload = onloadOfDocument;
document.onkeyup = onkeyupOfDocument;
function onkeyupOfDocument() {
var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
alert(combo);
var comboInput = combo.get_inputDomElement();
comboInput.focus();
}
</script>
すべての MASTER および CONTENT ELEMENTS が完全にロードされた後、いくつかの JavaScript コードを実行するには、ドキュメントのどの機能を使用すればよいですか?
今後とも宜しくお願い致します