0

こんにちは、html フォームがあり、入力フィールドにフォーカスするたびに rel 値が消える JavaScript が実行されますが、電話を除くすべての入力タイプで機能しており、何が間違っているのかわかりません。

JavaScriptは次のとおりです。

$(document).ready(function() {

    $('select.fancyselect').fancySelect();

    $('input[type=text], input[type=email], input[type=phone], input[type=url], textarea,').focus(function(){ 
        if($(this).val() == $(this).attr('rel')) {
            $(this).val('');
        }
    });

    $('input[type=text], input[type=email], input[type=phone], input[type=url], textarea').blur(function(){
        if($(this).val() == '') {
            $(this).val($(this).attr('rel'));
        } 
    });

tel フォーム フィールドの html は次のとおりです。

<div class="control-group">
                                <label class="control-label" for="field-phone">Phone Number:<br /> <em>(Optional)</em></label>
                            <div class="controls">
                                <input type="number" name="field-phone" id="field-phone" value="<?= $_POST['field-phone']; ?>" rel="Phone number here...">
                            </div>
                          </div>

私もブートストラップを使用していますが、この問題はクロムやサファリではなくFirefoxでのみ発生することがわかりました。

4

2 に答える 2

1

input[type=phone]参照し<input type='phone'/>ていないCSS セレクターを使用しています。<input type='number'/>を使用しているため、CSS セレクターを使用する必要がありますinput[type='number']

于 2013-09-26T11:55:59.203 に答える
0

これを試して:

<input type="text" onfocus="if(this.value == '<?= $_POST['field-phone']; ?>') { this.value = ''; }" value="<?= $_POST['field-phone']; ?>" />
于 2013-09-26T11:55:16.753 に答える