[英]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.