繁体   English   中英

使用is()和多个CSS类的jQuery验证

[英]JQuery validation using is() and multiple CSS classes

尝试调试基本上是.trim(),.val()和.length的textarea输入,如下所示(HTML截断):

<form id="Kontaktanfrage" method="post" action="tests/testform/">
...
<textarea cols="50" rows="8" id="el_12" name="FORM[Kontaktanfrage][el_12]" title="Ihre Nachricht: *" class="textarea required"></textarea>
...
</form>

JavaScript的:

function validateField(formId, fieldId) {
if (fieldId) {
    var element = "form#"+formId+" input#"+fieldId;
    var fieldValue = jQuery.trim(jQuery(element).val());
    var fieldLength = fieldValue.length;
    var fieldError = "";
    if ($(element).is('.textarea.required') && fieldLength == 0) {
        fieldError = "error message";
    }
}

}

上面的if check永远不是true

使用JQuery:1.4.1。

在网上看到其他示例后,我看不出应该有什么区别。 随时在( http://www.initiat.de/tests/testform/ )的FireBug中进行测试。 任何帮助表示赞赏,看不到我在做什么错。

为什么不使用

.hasClass()

您在假设所有字段都是Input元素的情况下创建选择器。 TextArea是一个不同的元素,您的选择器应该反映出来。 如果您更改此行,我认为性能不会受到太大影响

var element = "form#"+formId+" input#"+fieldId;

对此

var element = "form#"+formId+" #"+fieldId;

试试看

if ($(element).hasClass('textarea') && $(element).hasClass('required') && fieldLength == 0) {
        fieldError = "error message";
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM