Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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_Validation - Fatal编程技术网

jQuery中的验证问题

jQuery中的验证问题,jquery,validation,Jquery,Validation,基于这个例子 <html> <head> <title>jQuery: Check if Textarea is empty 3</title> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> </head> <body> <form n

基于这个例子

<html>
    <head>
        <title>jQuery: Check if Textarea is empty 3</title>
        <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    </head>

    <body>
        <form name="form1" method="post" action="">
            <label for="comments">Comments:</label>
            <textarea name="comments" id="comments"></textarea>
        </form>
        <input name="check" id="check" type="submit" value="OK" />
        <input type="reset" value="Cancelar" onclick="$('form')[0].reset() "/>

        <script type="text/javascript">
            $('#check').click(function() {
                if ( $('#comments').val() == '' )
                {
                    alert('Empty!!!');
                }
                else
                {
                    alert('Contains: ' + $('#comments').val() );
                }
            });
        </script>
    </body>
</html>
由于单选按钮的原因,验证我时出现错误。必须在业务和复选框中选择类型 当然,我有兴趣的要求,必须在饮食为我采取有效的

我还验证了错误的消息文本区域:如果为空,则应显示消息为空!, 但textarea似乎返回空内容

如何修复这些错误?

一些问题:

<input name="evento" id="evento" value="empresarial" type="radio"> Empresarial 
<input name="evento" id="evento" value="empresarial" type="radio"> Particular
这不仅在语义上是正确的,而且通过添加一个带有适当for属性的标签,用户可以单击整个标签来选择选项,而不仅仅是单击小点单选按钮控件。您还应该对所有复选框执行此操作,并在执行此操作时更正这些复选框上的所有ID:

就您报告的问题而言,textarea报告包含:当您期望为空时,textarea元素包含您在标记中写入的空白:

虽然您当然可以将textarea写入不包含空格的区域,但一般来说,在验证之前,您应该始终修剪输入中的空格,除非它与代码示例中的空格相关。在验证函数上,请尝试:

if ( $('#comments').val().trim() == '' )
请参见此处更新的JSFIDLE:


希望这有帮助。

请创建一个JSFIDLE来演示错误,以便人们更容易帮助您!顺便说一句,仅提供与您的发行代码相关的,不是你的整个站点…我的代码原始代码更新了JSFIDLE,但textarea没有正确验证,我必须单击四次退出以警告包含我删除else的if$'comments'。val==但是textarea的验证不起作用。你正在表单的提交处理程序中添加单击处理程序。您应该将其提取到表单验证程序范围之外。此外,还有一些标记问题。我删除了样式,以便更容易看到结构;您可以将它们重新添加到中。问题是验证我的名称字段错误,应该启用输入字母,不允许输入数字,并且必须有3个以上的字符,不起作用。虽然该值验证我q1245和1245y,但当字段的扩展名超过3个字符时,它是否接受该值(即使是数字),但错误。您在代码中的什么地方检查这些条件?我在nombre上看到的唯一验证是$nombre.val.length是否小于4。如果你想测试没有数字,你需要匹配一些东西,可能需要使用正则表达式。
.html, body {
    font-family:Verdana, Geneva, sans-serif;
    font-size:12px;
}

.inicio {
    width:600px;
    height:100%;
    padding:0px;
    margin:0px auto 0px auto;
}

.formulario ul {
    float:left;
    width:100%;
    padding:0px;
    margin:0px;
    padding-top:20px;
    list-style-type:none;
}

.formulario ul li {
    float:left;
    width:50%;
    height:25px;
    line-height:25px;
    padding:0px;
    margin:0px;
    list-style-type:none;
    padding-top:5px;
}

.formulario ul li.botones {
    text-align:center;
}
<input name="evento" id="evento" value="empresarial" type="radio"> Empresarial 
<input name="evento" id="evento" value="empresarial" type="radio"> Particular
<input name="evento" id="evento_empresarial" value="empresarial" type="radio"> <label for="evento_empresarial">Empresarial</label> 
<input name="evento" id="evento_particular" value="particular" type="radio"> <label for="evento_particular">Particular</label>
if ( $('#comments').val().trim() == '' )