2011-06-11 7 views
1

と全く働いていない私は、次のコードは勝つ2003 & IIS 6で正常に動作している:いくつかのjavascriptのステートメントは、IIS 7およびWindows 2008

javascript:window.opener.document.formConfirmation.textBoxDateFrom.value = '01/01/2011'; 

それはIIS 7で勝利2008年では動作しませんが!

私はアクセス権のないカレンダーDLLからロジックが読み込まれているため、上記のコードを変更することはできません。 Javascriptの一部を動作させることを制限するIISの設定であるかどうかを知りたいと思います。もしそうなら、上記のコードを以前のように動作させるために何ができるでしょうか。

FYI、次はIIS 7では動作しません:

document.Form1.txtAlias.value; 

が、この文IIS 7でWORKS:

document.getElementById('txtAlias').value; 

IIS 6で作業BOTHながら! !!それについては何ですか?どんな助けが私の時間のいくつかをこの上無駄にするのに役立ちます...

+0

チャラコさん、あなたはIIS(ブラウザーにHTMLとJSをプッシュダウンするウェブサーバー)を混乱させていると思います。上のコードはあなたが話していることです...ウェブページ(「ブラウザ」内)で実行されますか?または、ASPページ内に埋め込まれているかのようにサーバー上で実行されますか?違いを知っていますか?どのブラウザでテストしていますか? – selbie

答えて

1

これはあなたがコントロール名をハードコードしているためですが、この名前はおそらくasp.netによって動的レンダリングされます。おそらくレンダリング時に名前を動的に変更しないように設定できるからです。

コントロールIDを<%= Control.ClientID%>に変更するか、他の方法を使用してコントロールの値を取得してください。

たとえば、おそらくForm1はtxtAlias名前を変更していないあなたのコードdocument.Form1.txtAlias.value;のこの部分で

document.getElementById('<%=txtAlias.ClientID%>').value 

または

javascript:window.opener.document.<%=Form.ClientID%>.<%=textBoxDate.ClientID%>.value = '01/01/2011'; 

、。

  • その他かのうソリューションあなたがasp.netのバージョン4を使用する場合は、あなたのコントロールの静的ID名を使用することです。

  • あなたのページのポイントは、あなたのブラウザ上に表示され、右クリック|あなたのコントロールがレンダリングされる様子(どのIDを取得するか)を見るためのソースコードを表示します。

関連する問題