Event registration - how to connect Volunteer records to RSVP & Event records simultaneously?

I'm looking for a way to connect more than two objects using a form. Here's the scenario:

We have three data objects: Volunteers, RSVPs, and Events.

Someone visits an event listing page on our website, which contains an RSVP form. They enter their email address in a Search field, which then displays a table of matches from our Volunteer records. (Usually just one match will appear, unless we have duplicates.) The table has an Action Link that inserts a new RSVP record linked to that Volunteer record. So far so good: when I've tested this, a new RSVP record linked to the Volunteer gets created in the system.

But I'd also like to link an Event record to this RSVP. In order to do that, the Action Link has to lead to another form that offers a drop-down list of Events. Knack doesn't appear to know that the form just came from a specific event page, so the only thing I can get it to do is offer a list of all our events (or some filtered subset of them). But I want it to somehow know which related event the Action Link just came from.

I've tried different ways of getting at a solution, but it seems Knack can't connect records from more than two objects in a single form. I hope I'm wrong! Is there a solution to this?

Thanks for reading!

(Note: I can get this to work easily if volunteers create user accounts. But the scenario I'm describing here doesn't involve user accounts -- I want volunteers to be able to look up their own email address and register without having to log into an account.)