2013-10-24 3 views
0

При оставлении элемента input с атрибутом required пустой появляется всплывающая подсказка (с использованием Chrome): «Пожалуйста, заполните это поле».Переключая подсказку HTML5 с javascript

<input type="text" name="foo" required /> 

enter image description here

Есть функция Javascript, что активирует эту подсказку вручную в любом месте с любым содержанием? (не создавая его самостоятельно)?

+0

@YuriyGalanter Но это не дает никакого контроля над всплывающей подсказкой. Я ищу решение, которое позволяет мне контролировать положение и содержимое всплывающей подсказки. – Joren

ответ

0

Насколько я знаю, вы можете изменить текст всплывающей подсказки.
Попробуйте слушать invalid события

document.getElementById("foo").addEventListener("invalid", function (e) { 
    if (e.target.value == "") { 
     e.target.setCustomValidity('Hey! "' + e.target.value + '" is not a valid username.'); 
    } 
}); 

Я не проверить его на совместимость браузера, но я предполагаю, что это новая функция, и может быть еще недостаточно поддерживается.

+0

Это, кажется, не работает для меня. Не могли бы вы проиллюстрировать это скрипкой? – Joren

+0

Я на самом деле работаю над этим. Я не заметил, что вы хотите показать всплывающую подсказку о размытии ввода. – matewka

0

Вы можете программно нажать кнопку «Отправить» - это вызовет проверку и всплывающую подсказку, например. с HTML, как этот

<form id="bla"> 
    <input type="text" required /> 
    <input type="submit" value="Submit" id="submit" /> 
</form> 

вызывающему

document.getElementById("submit").click(); 

отобразит всплывающую подсказку для пустых полей.

Демо: http://jsfiddle.net/bmF4N/

Если вы ищете больше контроля - вам, возможно, придется искать в пользовательские валидаторы, например http://jqueryvalidation.org/required-method/

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