-2

何らかの理由で、次のコードを IE9 でまったく動作させることができませんが、Firefox、Chrome、Opera では動作します。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Laughing Man Productions²-Administrator Portal</title>

<!--[if !IE 9]> <!--><link rel="stylesheet" type="text/css" href="http://www.lmpgames.com/WEB401/W2/css/login_page.css"/><!--<![endif]-->

<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="http://www.lmpgames.com/WEB401/W2/css/login_page_IE.css"/>
<![endif]-->


</head>

<body>
<div class="login_bg">
  <form action="" method="post" enctype="multipart/form-data">
    <fieldset class="fset">
      <div class="username_text">
        Username/Email Address:
          <span class="username_field">
            <input name="txtbUName" type="text" style="background-color:#DDDDDD;" value="Username" size="20" maxlength="60" />
          </span>
      </div><br/>

      <div class="password_text">
        Password:
          <span class="password_field">
            <input name="txtbPWord" type="password" style="background-color:#DDDDDD;" value="Password" size="20" maxlength="16" />
          </span>
      </div><br/>

      <div class="sub">
        <input name="btnSubmit" type="button" onclick="formatUName(this.form)" value="Submit" />
      </div>

      <textarea name="txtaFOutput" class="txta" cols="1" rows="1">

      </textarea>  
    </fieldset>
  </form>
  </div>



<script type="application/javascript">
    function formatUName(form)
    {
        //Set up variables and references for use later on
        var button = form.btnSubmit;
        var txta = form.txtaFOutput;
        var username = form.txtbUName;
        var password = form.txtbPWord;
        var uName = "default";
        var pWord = "";

        uName = username.value; //Obtain the value of the username field on submit

        //Then remove spaces from the value and change all letters to uppercase
        uName = uName.replace(/\s+/g, '');      
        uName = uName.toUpperCase();

        //Finally print the formatted username to the textarea
        txta.value = uName + " is your username";       
    }
</script>  


</body>     
</html>

IE でページを読み込んで [送信] をクリックしても、何も起こりません。.value を innerHTML と innerText に変更しようとしましたが、どちらも IE でも機能しませんでした。

編集:

IEをいじった後、最終的にデバッグを実行することができ、このエラーが吐き出されました:

行: 23 エラー: プロパティ 'appendChild' の値を取得できません: オブジェクトが null または未定義です

編集2:

前のエラーは無視してください。IE は、Vuze がインストールしたとは知らなかったプラグインを介して、Vuze が Javascript コードを挿入できるようにしていました。それらを無効にすると、新しいエラーメッセージは関数名に関するものになりました:

35 行目: プロパティ 'formatUName' の値が null または未定義であり、Function オブジェクトではありません

4

3 に答える 3