2013-08-26 3 views
0

Я знаю, что другие спрашивали об этом. И я пробовал решения, рекомендованные другими, но, похоже, не работает.Удалить содержимое поля ввода jQuery

Вот мой код:

<!DOCTYPE HTML> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

<script type='text/javascript'> 
$('input:text').focus(
    function(){ 
     $(this).val(''); 
}); 
</script> 
</head> 
<body> 
<form> 
<input type="text" value="Text"> 
</form> 
</body> 
</html> 
+0

Проверьте ваш консоль, чтобы узнать, есть ли у вас какие-либо ошибки. –

+0

Я рекомендую прочитать базовое учебное пособие по jQuery, в котором объясняется, как настроить jQuery: http://learn.jquery.com/about-jquery/how-jquery-works/. –

+0

Я получаю эту ошибку в консоли: Uncaught TypeError: Object # не имеет метода 'sendMessage' –

ответ

2

Вы хотите сделать что-то больше вдоль линий

$(function() { 
    $('input:text').focus(function() { 
     $(this).val(""); 
    }); 
}); 

без $(function() {... это возможно, что вы пытаетесь стрелять JQuery, прежде чем он загружен ,

+0

Все еще не работает. Получить эту ошибку в консоли: Uncaught TypeError: Object # не имеет метода 'sendMessage' –

+0

Это не ошибка, связанная с этой проблемой. Мы не вызываем метод sendMessage здесь. Это должно быть ошибка JavaScript в другом месте приложения. – GaryDevenay

3

Ваша проблема заключается в том, что когда код jQuery запускает html, он еще не существует. Поэтому вам нужно запустить jQuery только при загрузке страницы или опубликовать этот скрипт непосредственно перед закрывающим тегом <body>.

Вариант 1 (добавить готовый вызов DOM для йор функции):

$(document).ready(function() { 
    $('input:text').focus(function() { 
     $(this).val(""); 
    }); 
}); 

Вариант 2 (добавить <script> до закрытия тела тега)

<!DOCTYPE HTML> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
</head> 
<body> 
<form> 
<input type="text" value="Text"> 
</form> 
<script type='text/javascript'> 
$('input:text').focus(
    function(){ 
     $(this).val(''); 
}); 
</script> 
</body> 
</html> 
+0

Он работает, большое вам спасибо! –

+0

@SpotifyBruger, отметьте этот ответ как правильный – Satpal