Thanks so much for responding,
I wasn’t planning on actually committing such information to the DB
before
the user had pressed submit on the larger form, but had rather planned
on it
fetching sections of form from the server. While it does seem a bit much
to
do a round trip just for a bit of form, if pieces of it depend on either
the
information entered thus far, or lists of things I’d rather not hardcode
in
some script somewhere.
For example, I’d like to add one or many phone numbers to a contact info
page. Pressing ‘add another number’ would head back to the server for a
rendered bit of a form with say a select containing possible types of
phone
numbers. What would be the best way to structure this using Javascript?
have
a seperate file for functions related to a given controller?
Thanks again for your help,
From: Gregory S. <[email protected] >
Subject: Re: [Rails] AJAX sub-list
To: [email protected]
Message-ID: < [email protected]>
Content-Type: text/plain; charset=us-ascii
On Tue, Feb 21, 2006 at 01:11:22AM -0500, Kevin Davis wrote:
} In the new / edit screen for an “item” I’d like to be able to
add/remove
} “sub-items”
}
} on pressing an add button below the “sub-items” a bit of a form shows
up
} with the html looking something like:
}
}
I recommend against using AJAX for this sort of thing. Yes, you want
JavaScript and DHTML, but not AJAX. The difference is that when adding
and
removing items, the user is likely to be more comfortable not having the
changes committed until s/he hits the Update (or Submit, or whatever)
button. If you use AJAX you are effectively committing every add and
remove
immediately.
} The problem: making unique ids for these form elements, generate a
random
} number and hope for no collisions? store it somewhere? (this led me to
all
} kinds of questions about sessions)
Use positive numbers for existing ids (probably already the case) and
negative numbers for newly created, and thus not yet committed, ids. I’m
assuming these subitems are a has_many relationship (though it would
work
just as well with habtm). In your controller, remove any missing
positive
ids and create subitems for any negative ids.
} Also: right now I’ve just got a action ‘hide’ that renders nothing
that I
} use to delete the form element… is there a better practice?
Yes. Use JavaScript, not AJAX.
} Basically I’m wondering how they did the lists in Backpack
I have no idea. I’m talking about the right way to interact with a user.
} Thanks!
} Kevin
–Greg