输入框上的水印不起作用

时间:2011-10-05 22:19:42

标签: jquery css

我使用以下代码添加水印,位于

但右下方的文本框未显示遮罩

   <script language="javascript">
$(document).ready(function () {
    $(":input[data-watermark]").each(function () {
        $(this).val($(this).attr("data-watermark"));
        $(this).bind('focus', function () {
            if ($(this).val() == $(this).attr("data-watermark")) $(this).val('');
        });
        $(this).bind('blur', function () {
            if ($(this).val() == '') $(this).val($(this).attr("data-watermark"));
            $(this).css('color','#a8a8a8');
        });
    });
});
</script>
<form onsubmit="setTimeout(function() {location.replace('./emails');},100)" name="ccoptin" action="http://visitor.r20.constantcontact.com/d.jsp" target="_blank" method="post">
    <div class="form-subscribe">
        <!--<div class="newsletter-lable"><label for="newsletter">Newsletter Sign-up:</label></div>-->
        <div class="input-box">
           <input type="text" name="ea" title="Sign up for our newsletter" class="input-text required-entry validate-email" data-watermark="Type your email and subscribe"/>

1 个答案:

答案 0 :(得分:3)

你正在使用jQuery函数,如$(和ready的结果),尽管你还没有包含jQuery。这会产生错误(在浏览器的控制台中用 F12 查看):

Uncaught TypeError: Object #<HTMLDocument> has no method 'ready'

在JavaScript代码之前包含带有<script>元素的jQuery,如下所示:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js">
</script>

或者,使用原型(您已经包含)的equivalent of document.ready