Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 验证带有水印的文本框_Jquery_Asp Classic - Fatal编程技术网

Jquery 验证带有水印的文本框

Jquery 验证带有水印的文本框,jquery,asp-classic,Jquery,Asp Classic,我看过一些帖子询问如何实现这一点,但我对JQuery还不熟悉,所以我可能遗漏了一些有助于表单设置的内容 我有一个经典的asp页面,搜索框中有一个水印“员工姓氏”。我想根据需要验证此字段。水印工作正常,验证工作正常,但如果存在水印,则无法正确验证。我猜它是把制水机作为一个输入值 关于如何保留水印并仍然验证此字段的任何提示?以下是我使用的代码: <script type="text/javascript"> //Form watermarks $(document).ready(

我看过一些帖子询问如何实现这一点,但我对JQuery还不熟悉,所以我可能遗漏了一些有助于表单设置的内容

我有一个经典的asp页面,搜索框中有一个水印“员工姓氏”。我想根据需要验证此字段。水印工作正常,验证工作正常,但如果存在水印,则无法正确验证。我猜它是把制水机作为一个输入值

关于如何保留水印并仍然验证此字段的任何提示?以下是我使用的代码:

<script type="text/javascript">
//Form watermarks
    $(document).ready(function() {
        $('.watermarked_title').watermark('watermark');
    });
    </script>


    <script>
//Validation
    jQuery(document).ready(function(){
        // binds form submission and fields to the validation engine                    
        jQuery("#SearchForm").validationEngine();
    });

    </script>

//形成水印
$(文档).ready(函数(){
$('.watermarked_title')。水印(“水印”);
});
//验证
jQuery(文档).ready(函数(){
//将表单提交和字段绑定到验证引擎
jQuery(“#SearchForm”).validationEngine();
});
表格编号:

<form action="EmpSearch.asp" method="Post" id="SearchForm">                         
    <input name="SearchLN" id="SearchLN" type="text" size="22" class="validate[required] searchBox watermarked_title" title="Employee Last Name" >&nbsp;&nbsp;
    <input type="submit" class="button" Value="Search">                     
</form>

提交前应清除水印值:

表单提交-该插件在表单提交之前自动清除所有水印,因此您不需要在提交之前手动删除水印

如果你用对了…:

使用水印并验证相同元素上的插件

如果您发现您的表单验证失败,因为水印 未在验证发生前清除,则需要进行调整 设置水印和验证的顺序

正确的顺序是总是先设置水印,然后再进行其他操作 --尤其是在验证之前。这是因为jQuery在表单提交过程中小心地控制事件的顺序,并调用它们 他们建立的秩序。如果先设置验证,则 在清除水印之前,表单将被验证

按照正确的顺序设置水印和验证非常简单 按照正确的顺序放置代码行,如 以下示例:


您需要处理表单的提交事件,并清除所有带有占位符的字段(不要称它们为水印…这是用于图像的)


这假设您为具有这些占位符的字段提供了一个“占位符”类,并且您正在使用字段的
title
属性来存储占位符文本(相当常见)。如果不是这样,您需要稍微修改它。

您的验证代码是什么?这可能是最重要的部分@gdoron:我想,想想占位符吧。水印是一种文本输入,在用户输入之前是微弱的text@DavidThomas. 找到了,谢谢。请看下面我的答案……如果不知道您是如何进行验证的,甚至不知道水印代码是什么(看起来像jQuery插件,我从未听说过),几乎不可能给您提供适当的建议。如果你在IE上没有这个“水印”(称之为占位符)的话,你可以选择抱歉,我忘了包含验证代码。我不确定是否可以将其包含在评论框中,但这是我从这里找到的验证:看我的,
watermark
是他正在使用的一个插件。是的,我听说过,我想揍一下编写该插件的人,因为他称其为“水印”。@Chris Pratt感谢Chris,我将尝试一下。是的,我正在使用我找到的插件,所以我不知道占位符是正确的术语。谢谢你让我知道我在官方插件网站上找不到他住在哪里。很抱歉但我知道他是做彩票生意的……谢谢你的帮助。我还在学习这一切,所以我没有意识到。然而,这不是我的顺序吗?已经是正确的顺序了吗?@Cineno28。我不知道你有问题,因为我不能帮你调试。阅读这篇文档:“表单提交-该插件在表单提交之前自动清除所有水印,因此您不需要在提交之前手动删除水印。”感谢您的帮助。我原以为他们的订单是对的,但我做了一些编辑,现在它开始工作了。这绝对是答案。谢谢你。酷。我很高兴能帮上忙。
$('#myElement').watermark('Required');
$('#myForm').validate();
$('#myform').submit(function(){
    $('.placeholder').each(function(){
        var $placeholder = $(this);
        if ($placeholder.val() == $placeholder.attr('title')) {
            $placeholder.val('');
        }
    });
});