<input type="text" name="movie_name[]" />
<input type="text" name="movie_director[]" />
<input type="text" name="movie_year[]" />
<input type="text" name="movie_name[]" />
<input type="text" name="movie_director[]" />
<input type="text" name="movie_year[]" />
Ничего другого. На сервере вы получите (в случае POST) массив в $ _POST ['movie_name'], $ _POST ['movie_director'] и $ _POST ['movie_year'] ;. Элементы с одинаковым индексом относятся к одному и тому же набору входных данных.
Какие у вас проблемы с сериализацией?
<form>
<input type="text" name="movie_name[]" />
<input type="text" name="movie_director[]" />
<input type="text" name="movie_year[]" />
<hr />
<input type="text" name="movie_name[]" />
<input type="text" name="movie_director[]" />
<input type="text" name="movie_year[]" />
<br />
<input type='button' id='serialize' value='Click me' />
</form>
и код JS:
$('#serialize').click(function(){
alert($('form').serialize());
});
когда вы хотите отправить данные, просто напишите
$.post('script.php', $('form').serialize(), function() {alert('Saved');});
ps: если вы боитесь что-то потерять, просто сравните count ($ _ POST ['movie_name']), count ($ _ POST ['movie_director']) и count ($ _ POST ['movie_year']).
или вы можете добавить индексы
<input type="text" name="movie_name[0]" />
<input type="text" name="movie_director[0]" />
<input type="text" name="movie_year[0]" />
<input type="text" name="movie_name[1]" />
<input type="text" name="movie_director[1]" />
<input type="text" name="movie_year[1]" />