Вы не можете надежно клонировать что-либо с атрибутом ID и повторно вставить его в DOM. Это создает недействительный документ HTML, потому что у вас есть два элемента с одинаковым идентификатором. Firefox ведет себя правильно.
Что вам нужно сделать, это клонировать форму, а затем изменить ВСЕ идентификаторы на что-то уникальное (форма и все входные данные и дочерние элементы). Тогда вы сможете отправить форму.
Похоже, вы клонируете элемент tr
и вставляете его в таблицу? Если элемент tr
является единственным с идентификатором, это будет работать:
$('#tempRow')
.clone()
.attr('id', 'tempRow-new')
.insertAfter($('#templatesTable tr:last'));
Помните, однако, что если элемент формы - или любой из его дочерних элементов, включая div
, frameset
, input
и т. Д. - имеет идентификатор, вам нужно либо удалить этот идентификатор, или измени его. В противном случае у вас все еще будет недействительный документ, и у вас могут возникнуть проблемы.
Дополнительно
Приведенный выше фрагмент кода не подлежит повторному использованию. Как только вы попытаетесь клонировать форму во второй раз, у вас будет два элемента с идентификатором tempRow-new
. Если вам нужно клонировать строку несколько раз, вам придется добавить некоторый инкрементный номер или некоторый UUID, чтобы гарантировать, что все клонированные элементы уникальны.