Hi Jörn,

OK, that sounds reasonable. I did some experimenting after I sent the
original email and found that the unique naming issue was the
real issue, not the form being dynamic: even a simple form such
as:

<form>
 <input id="a1" type="text" name="example" value=""/>
 <input id="a2" type="text" name="example" value=""/>
 <input type="submit"/>
</form>

...which is perfectly valid HTML, causes the plugin problems.

I've already poked around in the code so will see if I can propose
a concrete way forward. The obvious solution seems to be to rely on
"id"
attributes instead, with a fallback to "name" if thats not found.
That should resolve the issue and give you some backwards
compatibility.

Cheers,

L.

On Jul 15, 6:15 pm, "Jörn Zaefferer" <[EMAIL PROTECTED]>
wrote:
> The plugin is architectured around unique names, so there is no
> obvious way out. The plugin is already quite tolerant in respect to
> dynamic forms, so this is a worthwhile topic. I'd be happy to
> collaborate with you on this, where you do the research and we try to
> find a solution based on that, together.
>
> By research I'm referring to an extensive code review, looking for the
> various places where element names are used, and how they could be
> modified to remove the unique requirement (eg. indexing in the
> internal data structures).
>
> Jörn
>
> On Tue, Jul 15, 2008 at 5:12 PM, ldodds <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I've built a dynamic form that I want to validate using the JQuery
> > validate plugin. However I've hit a snag which I think is related to
> > how I'm naming form elements. I wondered whether anyone else has had
> > the same problem (or might have a solution!)
>
> > The dynamic aspects of the form are implemented with a little
> > microformat and a use of the JQuery clone() method. I have something
> > like:
>
> > <div class="repeated">
> >  <input type="text" name="ex:email" value=""/>
> > </div>
>
> > My code picks up on "repeated" form sections and adds some controls to
> > enable to the user to add/remove sections to the form. In this case,
> > the ability to add multiple email addresses. That bit works fine.
>
> > What I want to do is just add class="required email" to markup, and
> > have each individual email address be validated.
>
> > However at the moment the JQuery Validate plugin treats all of the
> > inputs as the same, i.e. if I click to add a second email address
> > field, with the first value being invalid and the second valid, then
> > the plugin seems to only ever be validating the original value.
>
> > I think this is because the plugin is using the field name attributes
> > as a key?
>
> > Yes, the obvious answer is to give all the controls unique names, but
> > I'd like to avoid that if possible as the field names are used
> > elsewhere and I'd rather avoid having to munge them to add/remove a
> > unique suffix (e.g. ex:email-1).
>
> > Any ideas?
>
> > Cheers,
>
> > L.
> > --
> >http://www.ldodds.com/blog

Reply via email to