0

フォーム入力テキストボックスでjquery$.removeAttr()を使用すると、テキストボックスのサイズが約5ピクセル変更されます。使用しない場合$.removeAttr()、テキストボックスは正常に機能します。契約は何ですか?

私は最終的に、テキストボックスからライトグレーのイタリックCSSスタイルを削除し、通常のスタイルの黒いテキストを作成しようとしています。

テキストボックスのサイズを変更するのはなぜですか?

html:

<style type="text/css">
   .defaultText{
       color: lightgrey;
       font-style: italic;
   }​
</style>

<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $('#email, #emailconfirm').live('focusin', function() {
        if(this.value == 'Email' || this.value == 'Confirmation Email'){
            $(this).val('').removeAttr('class');
        }            
    });
});

<form id="newsletter"  method="post" action="/mailist/?p=subscribe" name="subscribeform">
    <input type="text" name="email" id="email" class="defaultText" value="Email" autocomplete="on" size="30"/><br/>
    <script language="Javascript" type="text/javascript">addFieldToCheck("email","Email");</script>
    <input type="text" name="emailconfirm" id="emailconfirm" class="defaultText" value="Confirmation Email" autocomplete="off" size="30"/><br/>
    <script language="Javascript" type="text/javascript">addFieldToCheck("emailconfirm","Confirm your email address");</script>
    <input type="submit" id="go" name="subscribe" value="Subscribe" onClick="return checkform();">
</form>​
4

2 に答える 2

0

width: 200px;そのため、クラスに追加するdefaultTextことで、問題を修正することができました。

<style type="text/css">
   .defaultText{
       width: 200px;
       color: lightgrey;
       font-style: italic;
   }​
</style>
于 2012-11-27T03:38:34.907 に答える
0

テキストボックスに固定幅を指定することで、この問題を修正できます。このように、.defaultTextクラスを削除しても、テキストボックスは定義された幅に設定されたままになります。

input[type="text"] {
  width: 200px;
}
.defaultText{
  color: lightgrey;
  font-style: italic;
}

デモ

于 2012-11-27T04:47:26.077 に答える