2015-02-06 5 views
0

Я пытаюсь сделать входной текст, чтобы иметь заголовок, как вы можете сделать с помощью div ... Это можно сделать?Заголовок появляется при зависании входного текста

Это то, что я пробовал, но мне кажется, что это не работает ... HTML:

<label> 
    <input type="checkbox" class="promote_checkbox">Promote with</input> 
    <input type="text" class="promote_points_number" maxLength="3" title="you need minimum 5 points to promote">Points</input> 
</label> 

И у меня есть еще одна проблема с этим ярлыком: если вы пытаетесь введите что-то в текстовое поле, вы не можете, потому что флажок будет проверен ... не могли бы вы рассказать мне, почему это происходит?

http://jsfiddle.net/2xw32q80/

+1

Параметр 'title' атрибут создает всплывающую подсказку в распространенных браузерах. Если этого не происходит, когда вы его проверяете, вам нужно уточнить условия более точно, чтобы другие могли воспроизвести проблему. Ваша другая проблема является прямым следствием неправильного использования элемента label; вы не можете использовать два 'input'-элемента внутри одной метки. С другой стороны, вам вряд ли нужен флажок. Просто позвольте пользователям ввести промо-код; ваш обработчик данных формы должен просто проверить, не является ли код пустым, прежде чем проверять его. –

ответ

-1

Смотреть разметку, вы не закрыть <input> теги! Это работает для меня в Опере:

<label> 
 
    <input type="checkbox" class="promote_checkbox" />Promote with 
 
    <input type="text" class="promote_points_number" maxLength="3" title="you need minimum 5 points to promote" />Points 
 
</label>

Результат:

Text edit with title

+0

Не работает в firefox .. – Valeriu92

+0

Какую версию вы используете? Firefox [поддерживает] (https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms_in_HTML#Constraint_Validation), используя тег заголовка в качестве подсказки. – user1438038

+0

33.0, он тоже не работает в chrome – Valeriu92

0

В HTML, то <input> тег не имеет закрывающего тега, тогда как в XHTML она должна быть закрыта, подобный это <input />.

<label> тег определяет метку в <input> элемента, так что вам нужно обернуть каждый <input> со своими <label> тегами, как так:

<label>Label for checkbox 
 
    <input type="checkbox" class="promote_checkbox"> 
 
</label> 
 
<label>Label for points 
 
    <input type="text" class="promote_points_number" maxLength="3" title="you need minimum 5 points to promote"> 
 
</label>

ИЛИ иметь атрибут на каждом for<label>, который соответствует атрибуту id его <input>

<label for="box">Label for checkbox</label> 
 
<input type="checkbox" id="box"><br> 
 
<label for="points">Label for points</label> 
 
<input type="text" id="points" maxLength="3" title="you need minimum 5 points to promote">

+0

Итак, в вашей скрипке флажок активировался, когда вы нажимали на текстовое поле, потому что это было ** на том же ярлыке **, что и текстовое поле. – gabrielbran

+0

Дело в том, что мне нужно, чтобы они были на одном ярлыке – Valeriu92

+0

Вам нужно [пересмотреть] (http://stackoverflow.com/questions/9004307/two-input-fields-inside-one-label) вашу структуру HTML, затем , – gabrielbran

Смежные вопросы