Я пытаюсь получить следующее:
form 1
text input
text input
previewimage
form 2
file input, upload automatically on selecting file to hidden iframe and generate previewimage
/form 2
text input
submit
/form 1
По сути, идея в том, что у меня есть форма с разделом для добавления изображения. Однако я также хочу предпросмотр изображения, поэтому мне нужна вложенная форма для ввода файла. Основная форма должна быть отправлена только тогда, когда я нажму кнопку отправки.
Я знаю, что вложенные формы на самом деле не разрешены, но они все еще работают. Однако я столкнулся с ошибкой, и это jQuery отправляет основную форму (форма 1), когда она должна отправить форму 2! Похоже, что поскольку у меня есть форма AJAX, отправляемая для формы 1, это событие вызывается на замене формы 2 вместо отправки формы 2, как и должно быть, даже если мой код говорит $ ('# form2'). Submit (). Если форма 1 отправлена нормально, проблема не проявляется.
Для современных браузеров я могу просто вставить iframe и форму 2 в тело документа и запустить диалог файлов через JS, щелкнув ссылку. Но для любой версии IE поле ввода файла должно присутствовать, поскольку IE, по-видимому, не позволяет вводить файл при замене, если пользователь не нажал на фактическое поле.
Одним из вариантов будет иметь только форму 1 и временно изменить ее действие на действие формы 2, но тогда мне придется отправить всю форму, и если форма очень длинная, это все замедляет.
Есть ли более разумный способ, которым я могу это реализовать?