- PR -

asp:Button の非表示について

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/02/22
投稿数: 22
投稿日時: 2006-02-22 16:15
リンクを押下したら、javascriptが呼ばれて、画面でビローンてボタンの並びが表示されるってものを作っています。

初期表示時はボタンの並びは非表示にします。これらの処理はjavascriptとスタイルシートで以下のようにaspxで指定しました。

------スクリプト部-------------------------------------
<script type="text/javascript" language="JavaScript">
<!--
function treeMenu(id) {
var disp = document.all(id).style.display;

if(disp != "none" || disp == "") {
document.all(id).style.display = "none";
}
else {
document.all(id).style.display = "block";
}
}
//-->
</script>
------スクリプト部-------------------------------------

---------指定した部分----------------------------------
<a href="javaScript:treeMenu('treeMenu1');" style="text-decoration:none;background-color:Fuchsia;"><b>処理系メニュー</b></a>
<div id="treeMenu1" style="display:none;">
<!--- 「sub1」送信ボタン --->
<asp:Button ID="Btnsub1" OnClick="OnBTNSUB1_FRM" Text="SUB1" Runat="server" CssClass="ITEM_BUTTON"></asp:Button><br />
<!--- 「sub2」送信ボタン --->
<asp:Button ID="Btnsub2" OnClick="OnBTNSUB2_FRM" Text="SUB2" Runat="server" CssClass="ITEM_BUTTON"></asp:Button><br />
<!--- 「sub3」送信ボタン --->
<asp:Button ID="Btnsub3" OnClick="OnBTNSUB3_FRM" Text="SUB3" Runat="server" CssClass="ITEM_BUTTON"></asp:Button><br />
<!--- 「sub4」送信ボタン --->
<asp:Button ID="Btnsub4" OnClick="OnBTNSUB4_FRM" Text="SUB4" Runat="server" CssClass="ITEM_BUTTON"></asp:Button><br />
</div>



で、動きとしてはちゃんと動くんですけど、
javascripterrorが残ります。
フォーカスがコントロールに移動できませんというエラーです。
asp:Buttonに対してスタイルシートでdisplay:noneと指定
しているのが悪いっぽいんですけど・・・。input type="button"
の場合は、javascripterrorは無いんですが、どうしたら
javascripterrorが残らないようにできるのでしょうか。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-22 17:04
引用:

未記入さんの書き込み (2006-02-22 16:15) より:

input type="button" の場合は、javascripterrorは無いんですが、


submit の時はエラーになる、と言うわけですか?
そんなわけで、私なりにミニマムテストをしてみました。

コード:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
    <meta http-equiv="Content-Style-Type" content="text/css; charset=Shift_JIS">
    <meta http-equiv="Content-Script-Type" content="text/javascript; charset=Shift_JIS">
    <link rel="start" href="./">
    <link rev="made" href="./">
    <title>TestPage</title>

    <script type="text/javascript"> 
      <!--
        function treeMenu(id) {
            var target = document.getElementById(id);

            if (target == null) {
                return;
            }

            if (target.style.display != "none" || target.style.display == "") {
                target.style.display = "none";
            } else {
                target.style.display = "block";
            }
        }
      -->
    </script> 
  </head>

  <body>
    <p>
      <a href="javascript:treeMenu('treeMenu1');" style="text-decoration:none; background-color:fuchsia;"><strong>処理系メニュー</strong></a>
    </p>

    <form id="FORM1" name="form1" method="post" action="./">
      <div id="treeMenu1" style="display:none;">
        <input type="submit" value="オンドゥルルラギッタンディスカー!!">
        <input type="submit" value="ウゾダドンドコドーン!!">
        <input type="submit" value="ナズェミデルンディス!!">
        <input type="submit" value="ナズェダァ!!ナズェダァ!!">
      </div>
    </form>
  </body>
</html>


問題なく動いています。
(Valid な HTML に書き直していますが)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
常連さん
会議室デビュー日: 2006/02/22
投稿数: 22
投稿日時: 2006-02-22 17:30
試していただいて有難うございます。
HTMLのinput type="submit"を指定した場合,
私も動きました。しかし、asp:buttonを指定した場合、
どうもjavascripterrorが出てしまいます。変換されたHTML上のjavascript
でおかしくなるのかも知れません。
eternia
常連さん
会議室デビュー日: 2006/02/23
投稿数: 42
投稿日時: 2006-02-23 03:54
asp:ButtonのOnClickを外してもjavascripterrorが出ますか?
そっちでエラーが出ている気がします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-02-23 13:11
ASP.NETからクライアントに出力されたHTMLと
エラーの出ないHTMLを見比べてどこか違いがありませんか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-02-23 13:48
引用:

どうもjavascripterrorが出てしまいます。変換されたHTML上のjavascript
でおかしくなるのかも知れません。



ますは何処でエラーが発生しているかをつきとめましょう。
デバッガを使うと簡単に分かります。
http://support.microsoft.com/default.aspx?scid=kb;ja;816173
1

スキルアップ/キャリアアップ(JOB@IT)