1

ちょうど私たちのウェブサイトの生年月日サインアップフォームについて報告された問題がありました。フォームにはサンプル値が事前に入力されています。これはFirefox、Chrome(およびある程度はIE9)で正常に機能しますが、IE7またはIE8では機能しません。フィールドにタブで移動することはできますが、クリックすることはできません。事前に入力された値がボックスを選択するのを妨げているようです(IE9では、値の直前をクリックした場合にのみ、クリックして入力フィールドを選択できます)。

<div class="DobBack">
    <input name="dobD" id="dobD" type="text" value="" class="ab abReq abDob abNum" />
    <div class="abInputText">DD</div>
</div>

<div class="abDobBack">
    <input name="dobM" id="dobM" type="text" value="" class="ab abReq abDob abNum" maxlength=2 />
    <div class="abInputText">MM</div>
</div>

<div class="abDobBack">
    <input name="dobY" id="dobY" type="text" value="" class="ab abReq abDob abNum" maxlength=4 />
    <div class="abInputText">YYYY</div>
</div> ​

これはコードまたはIE、あるいはその両方の問題ですか?問題がどのくらい続いているかわかりません。何ヶ月も更新がありませんが、突然質問があります。

4

1 に答える 1

1

これは PHP であると仮定します。

  <div class="DobBack">
        <input name="dobD" id="dobD" type="text" value="<?php echo $dobD ?>" onfocus="value=\'\'" class="ab abReq abDob abNum"></input>
        <div class="abInputText">DD</div>
    </div>

    <div class="abDobBack">
        <input name="dobM" id="dobM" type="text" value="<?php echo $dobM ?>'" class="ab abReq abDob abNum" maxlength=2 />
        <div class="abInputText">MM</div>
    </div>

    <div class="abDobBack">
        <input name="dobY" id="dobY" type="text" value="<?php echo $dobY ?>" class="ab abReq abDob abNum" maxlength=4 />
        <div class="abInputText">YYYY</div>
    </div> 

そうでない場合、$dobM とは何ですか、これはどの言語ですか、$dobM はどこで定義されていますか、完全なコードを投稿できますか?

パート2

$html='<div class="DobBack">
    <input name="dobD" id="dobD" type="text" value="'.$dobD.'" onfocus="value=\'\'" class="ab abReq abDob abNum"></input>
    <div class="abInputText">DD</div>
</div>

<div class="abDobBack">
    <input name="dobM" id="dobM" type="text" value="'.$dobM.'" class="ab abReq abDob abNum" maxlength=2 />
    <div class="abInputText">MM</div>
</div>

<div class="abDobBack">
    <input name="dobY" id="dobY" type="text" value="'.$dobY.'" class="ab abReq abDob abNum" maxlength=4 />
    <div class="abInputText">YYYY</div>
</div> ​';

そのように見えるはずです。

ソースの表示に移動して、値が表示されるかどうかを確認します。($dobY == 1985) かどうかを確認する必要があります

もう 1 つの潜在的な問題は、onfocus イベントです。試すonFocus="this.value=''; return false;"

于 2012-05-17T14:42:25.873 に答える