2011-10-26 11 views
0

私は自分のサイトにHTMLフォームを持っています。何らかの理由で、Firefoxでサイトを表示するときに入力にテキストを入力できません。次のように私のフォームが設​​定されていますFirefoxのHTMLフォームの入力が応答しない

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<form action="/MyAction/" method = "post" id="register"> 

        <div class="registerField"> 
         <label for="signupFirstName" class="registerLabel">First Name</label> 
         <input type="text" name="signupFirstName" id="signupFirstName" /> 
        </div> 
        <div class="registerField"> 
         <label for="signupLastName" class="registerLabel">Last Name</label> 
         <input type="text" name="signupLastName" id="signupLastName" /> 
        </div> 
        <div class="registerField"> 
         <label for="signupPassword" class="registerLabel">Enter Password</label> 
         <input type="password" name="signupPassword" id="signupPassword" autocomplete="off" /> 
        </div> 
        <div class="registerField"> 
         <label for="retypeSignupPassword" class="registerLabel">Re-enter Password</label> 
         <input type="password" name="retypeSignupPassword" id="retypeSignupPassword" autocomplete="off" /> 
        </div> 
        <div> 
         <div id="registerButtons"> 
          <label for="signupButton"> 
           <input type="submit" value = "Create Account" name = "registerButton" id="signupButton"/> 
          </label> 
         </div> 
        </div> 
       </form> 

私は(実際にイベントを登録しなかった)、フォーム上からkeyupイベントにアタッチコールバックを持っていたが、それは以来、無効になっていると、私はまだこの問題を抱えています。また、Firebugを起動する入力要素のいずれかで右クリックして「Inspect Element」を選択すると、すべて動作します。あらゆるアドバイスを事前に感謝します。

EDIT:これまでのコメントをいただいた皆様に感謝します。以下は、フォームを調整するために使用するコントローラーのJavascriptメソッドです:

 if (this.view.hasClass("readyToSubmit")) 
    { 
     return true; 
    } 
    else 
    { 
     var email = viewState.userState.user.EmailAddress; 
     var password = $("#signupPassword").val(); 
     var passwordConfirm = $("#retypeSignupPassword").val(); 
     var firstName = $("#signupFirstName").val(); 
     var lastName = $("#signupLastName").val(); 
     var isOrg = false; 

     if (!isValidEmail(email)) 
     { 
      this.registerStatusController.set("Invalid email"); 
      return false; 
     } 

     if ((password == null) || (password == undefined) || (password.length < 6)) 
     { 
      this.registerStatusController.set("Please enter a total of at least 6 letters, numbers, and symbols for your password"); 
      return false; 
     } 

     if (!(password == passwordConfirm)) 
     { 
      this.registerStatusController.set("Your passwords do not match"); 
      return false; 
     } 

     if (firstName == '' || lastName == '') 
     { 
      this.registerStatusController.set("You must provide a first and last name."); 
      return false; 
     } 

     requestController.post("/Home/MyAction", 
      { 
       username: email, 
       password: password, 
       passwordConfirm: passwordConfirm, 
       firstName: firstName, 
       lastName: lastName, 
       timeOffset: -(new timezoneJS.Date()).getTimezoneOffset(), //Our tzo is negative of server side tzo 
       isOrganization: isOrg 
      }, 
      $.scope(this.callbackRegistered, this), 

      function (XMLHttpRequest, textstatus, errorThrown) 
      { 
       this.registerStatusController.set("A system error has occurred. Please try again later."); 
      }); 


     return false; 
    } 

    this.callbackRegistered = function (data, textStatus) 
{ 
    if (data == 0) 
    { 
     viewState.userState.isProvisional = false; 
     this.registerStatusController.set("New account created"); 
     this.view.addClass("readyToSubmit"); 
     // $("#register").submit(); 

     // Run the post-registration action and then clear it. 
     if (this.postRegisterAction) 
     { 
      this.postRegisterAction(); 
      this.postRegisterAction = null; 
     } 
     this.hide(); 
    } 
    else 
    { 
     $('body').css("cursor", "auto"); 

     if (data == 1) 
     { 
      this.registerStatusController.set("You are already logged in"); 
     } 
     else if (data == 3) 
     { 
      this.registerStatusController.set("Your account is already registered"); 
     } 
     else if (data == 4) 
     { 
      this.registerStatusController.set("Your invitation code is not valid"); 
     } 
     else 
     { 
      this.registerStatusController.set("The system is not available at this time. Please try again later."); 
     } 
    } 
} 

これらの入力にCSSは定義されていません。

もう1つのこと:このフォームは、ページ全体をオーバーレイするポップオーバーdivに格納されます。そのCSSを以下のように定義されています

#registerPopOver 
{ 
    top: 0px; 
    left: 0px; 
    position: fixed; 
    width: 100%; 
    height: 100%; 
} 

フォームが#registerPopOver内のdiv内に常駐:

#registerPopOverInner 
{ 
    margin: auto; 
    background-color: white; 
    width: 300px; 
    margin-top: 20%; 
    border: 1px #CCC solid; 
    padding: 4px; 
} 

はあなたのアドバイスのためにもう一度すべてをありがとうございます。

+0

スニペットからフォーム入力が機能しない理由はありません。 Firefoxのどのバージョン? Firebugを無効にしようとしましたか? –

+0

Firefox 7でうまく動作します(なぜそうでないのか分かりません)。コードの残りの部分を見ることができますか? – Dennis

+0

あなたは入力に適用してCSSを適用しますか? – blejzz

答えて

0

問題が見つかりました。 JavaScriptベースのカレンダーが私たちの焦点を奪っていたことが分かります。返信した皆様に感謝します!

関連する問題