BTW, when you examine that project, you’ll see that the subtext of what I’m telling you is that what you’re trying to do is fairly clever (have kind of a dynamic list of onboarding questions), but that isn’t really a timesaver in this case.
The kinds of info you are trying to collect should not all be submitted as free text fields. Each thing you you need to collect to onboard a User or a Pet has specific user interface requirements and so it doesn’t make your life easier.
What does make your life easier is doing things like controlling the options that a user can select (you’ll see how I did that with Eye Color and Species, for example). You might want to do something similar for Breed – which I left as free text in my quick example.
Also, I was just playing with some ideas here in this example, and even the “better” onboarding experience is not really right (but then, I’m not trying to build your site for you). But there are some kind of interesting dynamic things I’ve done there just to give you an idea of things you might try.
For example, on the “better onboarding” page, once the User fills in the user-specific questions, you’ll see that that group disappears and the text in the headline changes, based on that. But that’s NOT an ideal thing to do in onboarding, either, as what if the user typed their name wrong or selected the wrong eye color.
It’s really not a good idea to hide those inputs automagically like that (you’ll also note I was doing those with autobinding – if I were doing them without that, there would be a confirm button of course that would kick off a save action – which we do anyway when “Let’s Go!” is clicked).
But that kind of experimentation is kind of fun to do and helps us hone in on things that might improve the onboarding experience.
But the idea of having a dropdown to select the User questions vs. Pet questions is just not helpful and makes for a confusing (and more time-consuming) experience than it needs to be, for a variety of reasons.