开发者

Jquery form validation plugin, how to select dynamically generated input elements to validate?

开发者 https://www.devze.com 2022-12-12 02:08 出处:网络
I am using Jquery form validation plug-in to validate inputs within a form before submitting, there are some input elements which are named as \"question1”, \"question2\", \"question3\",..., they are

I am using Jquery form validation plug-in to validate inputs within a form before submitting, there are some input elements which are named as "question1”, "question2", "question3",..., they are dynamically generated. So how to validate these input elements within the Jquery plugin function validate()? I need a means to select them first.

$(document).ready(function() {
    $("#formname").validate({
        rules: {
            title: {
                required: true,
                minlength:40
            },
 开发者_StackOverflow社区           content: {
                required: true,
                minlength:100,
                maxlength:2000
            }
        },
        messages: {
        }
    });
});

Title, content are other input elements within the same form, they are not dynamically generated so they are easy to validate, just by their name. So how to validate "question1", "question2", "question3",..., certainly I can write like this:

 question1: {
                required: true,
                minlength:40
            },
      question2: {
                required: true,
                minlength:40
                    },
         question3: {
                required: true,
                minlength:40
            },
         ...

But, as I said, these input elements are dynamically generated, I can not predict how many "questionn" there are. So how to do the job?


You have to put a class="question" attribute on each of the dynamically-created elements so that you can perform a jQuery selector against them.

$(".question").validate({  etc...  


I hope I understand the question:

You could just write in an OnChange handler into each element that is created. This would then call a validation routine for you. It's not the unobtrusive approach that you get by binding validation to elements, but it works.

JQuery tries to assist with dynamic elements using this: http://docs.jquery.com/Events/live#typefn

But .live doesnt support change events at the moment.

Another library might. Google around and see.

0

精彩评论

暂无评论...
验证码 换一张
取 消