Create Item in Sublists from Form

Hey all,

so basically i've built a room booking system in Sharepoint 2019 based on classic calendars with multiple calendar overlays.

Right now I have to go into each sub-calendar on the left side to create an item there.

My goal would be to be able to open a Form, select the room I want to book in (each room is a separate list in calendar view) and then put in all the details, click on "save" and the event is set into the selected list.

Does anyone know a way to achieve this or is this not possible?

Dear JonHebbe,
The easiest way would probably be to redirect from one form to another if a different room is selected, though the changes wouldn't save this way (this can be worked around though).

For example, you can add a Common Drop Down field Room, with choices Room A, Room B, and Room C, and use the following JS to redirect between forms:

fd.spRendered(function(){
  fd.field('Room').$on('change', function(value) {
    if(value == 'Room A'){
      window.location.href = 'https://google.com';
    }
    else if(value == 'Room B'){
      window.location.href = 'https://plumsail.com';
    }
    else if(value == 'Room C'){
      window.location.href = 'https://gog.com';
    }
  });
});

Of course, the URLs are just examples, you can find out how to generate URLs to forms here - Link to a SharePoint form — SharePoint forms

Hey, thanks for the quick answer! I just decided that I want to use a "New Form" in the main calendar and then use JS to hide / show list-controls based on a multi selection field. Then I can just go and click on "new" to get into the right form.

Now one problem I'm facing is that the dialog box that opens is very very small. Is there any way to make that form bigger? I tried editing .ms-dlgContent via CSS in Plumsail Forms but that doesn't seem to work as the style attributes are inline inside the html.

Dear @JonHebbe,
Unfortunately, classic UI is notoriously hard to work with, especially by modern standards, but you can play with the following JS code on the form to adjust the size of dialog as you need it to appear:

setTimeout(function(){
    window.top.document.getElementsByClassName('ms-dlgContent')[0].setAttribute('style','z-index: 1505; display: block; width: 1200px; height: 800px; left: 329.5px; top: 100px;')
    window.top.document.getElementsByClassName('ms-dlgBorder')[0].setAttribute('style','width: 1100px; height: 780px;')
    window.top.document.getElementsByClassName('ms-dlgFrame')[0].setAttribute('style','width: 1000px; height: 740px;')
}, 1000);