How to create multiple records in one form

Hello folks! I hope I can understandably describe my problem. As my learning curve, I am working on an online bookstore web application. I have two tables - Authors and Books (book belongs to author/author has many books); I came up with an idea to create many book authors associated with a new book. I’m trying to show what I mean in the mockup below. Is it possible to achieve it only with Elixir/Phoenix (maybe some simple JS code additionally)? If so, can someone explain how to do it? If there is a better way to do handle it, I would be grateful for any recommendation as I am quite new to such stuff. Thanks in advance!

Hey. Can you check if this does what you want?

Yes, this is something I would like to achieve! I am looking at the article and just wonder if does it matter that my application is not a LiveView app? I am asking because I don’t know where I should write similar code to the code in lib/tutorial_web/live/product_form_live.ex and how different would it be. I’m sorry if this is a stupid question but I’m still a newbie. Thank you!

Not really. If you want to dynamically add new fields, you can do that with JS.
I have done it with 2 different options

  1. When you click the Add another author, make an ajax request to the server that then returns a partial that you inject in the DOM below the other Author field
  2. Have some sort of hidden form field that you clone with JS and insert in the DOM when you click the button.
    The backend part of the tutorial will be the same though.

Ohh, okay. I will give it a shot! Thanks!