Форма не отправляется в iFrame, открывается в новой вкладке - PullRequest
5 голосов
/ 05 сентября 2011

Я использую следующий HTML-код начальной формы:

<form id="uploadpic" method="post" target="uppic" name="upform" action="/cgi-bin/inpost.cgi" enctype="multipart/form-data">

, чтобы попытаться загрузить страницу, однако страница открывается в новой вкладке.

Не думаю, что это является частью проблемы, но я все равно включу это.Это код кнопки отправки в виде:

<input name="filename" id="filename" type="file" onchange="submitFormAfterImageCheck();" /> 

И эта функция вызывается:

function submitFormAfterImageCheck()
            {
                if(/(\.jpeg|\.jpg|\.JPG|\.gif|\.png|\.tiff)$/.test(document.getElementById("filename").value))
                {
                    nogo = "go";
                    document.getElementById("uploadpic").submit();
                    $("#upload").html("<center>LOADING...</center>");
                    $('#link').hide();
                    $('#update_post').hide();

                }
                else
                {
                    alert("You can only upload an image.");
                }
            }

Код iFrame:

<iframe id="uppic" name="uppic"></iframe>

Почему нетэто отправка в iframe?

Ответы [ 3 ]

5 голосов
/ 07 мая 2012

Я тоже столкнулся с той же проблемой и нашел обходной путь.

Когда вы устанавливаете атрибут target формы статически (как вы делаете), даже если цель iframe находится в том же окне, ответ будет получен в новой вкладке / окне.

Вы можете переопределить это, установив атрибут target для form динамически, используя javascript / jQuery.

JavaScript:

document.getElementById(formId).target = iframeId;

JQuery:

$("#formId").attr('target', iframeId);

Надеюсь, это поможет.

2 голосов
/ 10 октября 2014

Если у вас нет проблем с вашими элементами DOM (как @johndoe отметил в своем ответе) и у вас все еще есть проблема при установке цели с помощью Javascript (как @naren отметил в своем ответе), то это должно решить проблему :

Дайте вашему iFrame атрибут имени и установите целевое значение для формы на это значение:

<iframe name="myTarget"></iframe>

<form target="myTarget" method="post" ...></form>
0 голосов
/ 06 сентября 2011

Казалось, проблема в размещении элемента DIV. Хотя он был помещен в теги формы, он никогда не перенаправлялся после отправки формы. При удалении из формы теги перенаправляются нормально.

...