单击时查询清除输入字段

时间:2012-02-20 21:32:41

标签: jquery forms onclick clear

我在Jquery http://jsfiddle.net/anderskitson/AtqHm/上找到了这个jsfiddle代码,它在jsfiddle上运行正常,但是当我尝试在html文件中实现它时它不起作用。我把它托管在http://anderskitson.ca/tests/javascript/clearOnHover.html我不知道为什么它不起作用它是非常基本的设置。任何帮助将不胜感激。

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Rat Recipes</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
    </head>
    <body>
        <div id="form">
    <form method="post">
    <input type="text" class="class-11" value="Enter Choice #11">
    <input type="text" class="class-21" value="Enter Choice #21">​
    <input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" />
    </form>
         <script>
        $(document).ready(function() {
        var default_val = '';
        $('input[class^="class-"]').focus(function() {
            if($(this).val() == $(this).data('default_val') || !$(this).data('default_val')) {
                $(this).data('default_val', $(this).val());
                $(this).val('');
            }
        });

        $('input[class^="class-"]').blur(function() {
            if ($(this).val() == '') $(this).val($(this).data('default_val'));
        });
    });​
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:4)

看起来你在ready()函数的末尾有一些无法识别的字符,它没有出现在上面的代码片段中。当我将代码复制/粘贴到Notepad ++中时,我看到“?”字符。删除它会导致代码正常运行

答案 1 :(得分:1)

我在第29行的Chrome中收到错误,这告诉我,由于某种原因,浏览器在最后的if语句中对你缺乏花括号的态度不太宽容。尝试:

if ($(this).val() == '') { $(this).val($(this).data('default_val')); }