When dynamically adding the inputs you need to ensure they are named/indexed correctly for postback. For example, if your post action method is
[HttpPost]
public ActionResult Edit(List<string> text)
{
...
then your inputs need to be named
<input name="[0].text" value=.../>
<input name="[1].text" value=.../>
<input name="[2].text" value=.../>
so you need to modify the script to create the correct name attribute. Note the indexes need to start at zero and be sequential so you will need to take into account what happens if an input in the middle of the list is removed by the user.