簡體   English   中英

iframe表單將數據提交到Window URL

[英]Iframe form submit data to Window URL

假設我在瀏覽器中輸入一個URL(http:// localhost:8080 / Proj / page),然后得到一個包含菜單和iframe的頁面。 單擊菜單后,我通過發布一些數據並獲取HTML文檔作為響應來向服務器發出ajax請求。 我正在使用javascript手動將HTML文檔更新為iframe。 {原因背后,URL有一個查詢參數,我想將其發布到服務器而不是GET,因此我沒有更改iframe src}

例如:

<a href="#" onClick="frameopen('helloWOrld.html?a=bc&d=ef')">menu</a>;
function frameopen(url) {
    var dataToSend = getQueryParameterFrmUrl(url);//got data in form of Object
    var urlWithoutQUeryParam = getUrlWithoutQueryParam(url);//got url without query parameter
    positionThrobber("section16_contentframe");//add the throbber
    //perform POST using ajax
    $.ajax({
        url: urlWithoutQUeryParam,
        data: dataToSend,
        type: 'POST',
        success: function (serverResponse) {
            //server response came write this to iframe
            removeThrobber();
            var ifrm = document.getElementById('contentframe');
            ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
            ifrm.document.open();
            ifrm.document.write(serverResponse);//server response written
            ifrm.document.close();
        },
        error: function (jqXHR, textStatus, errorThrown) {
            removeThrobber();
            alert("Ajax Request Failed!Text Status:" + textStatus + ",errorThrown:" + errorThrown);
        }

    });

}

現在,從服務器響應中填充了iframe,它包含一個表單。

<iframe src="">
<html><body>
<form name="inboxSearchForm" id="inboxSearchForm" commandName="userQueueFilter" action="${pageContext.request.contextPath}/inbox/search" method="post">
<a href="#" id="nextPage" onclick="pageJump(document.getElementById('pageNum').value,'up') ">Next ></a>
</form>
</body></html>
</iframe>

iframe中有一個鏈接(稱為Next),該鏈接使用javascript提交表單

document.getElementById('inboxSearchForm').submit();

問題是當我單擊鏈接Next..iframe加載了URL內容(http://localhost:8080/Proj/page即iframe現在存儲了整個頁面,即菜單和iframe,並且它是遞歸的..誰能告訴我可能是什么原因。.我希望從URL /inbox/search而不是從瀏覽器中的URL刷新iframe。.這種行為沒有反映在mozilla的IE面臨的問題中::(

首先,iframe頁面將永遠無法聯系主頁。

建議:請勿為此目的使用iframe。 如果您想從其他頁面獲取一些內容,請使用$ .load的jquery

但是在您的情況下,我建議您使用div而不是iframe來制作表單。 稍作更改后,代碼看起來可能相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM