簡體   English   中英

jQuery-在“新標簽”表單中打開鏈接提交

[英]jQuery - Open Links In New Tab form submit

此方法基本上在新窗口中打開了一個新網頁,其中Url出現在e.result參數中,在這里我想在“新選項卡”中打開同一窗口,而不是在新窗口中。

        $("#formMain").attr("action", e.result); 
        $("#formMain").attr("method", "post");      
        $("#formMain").attr('target', '_blank');
        $("#formMain").submit();

任何建議將不勝感激

不幸的是,您無法通過JavaScript設置此屬性。 瀏覽器根據其設置來決定是在新窗口中打開鏈接還是在新選項卡中打開鏈接。

一般來說,將表單提交到用戶將看到的頁面是不明智的,因為它可能導致多次提交(如果用戶前進/后退,他們將重新打開選項卡,等等)。 由於您已經在使用jQuery,請改用$ .post()或$ .get()。 (請參閱http://api.jquery.com/jQuery.post/http://api.jquery.com/jQuery.get/ )。 位於e.result的腳本應該只處理表單提交(可能將內容保存到DB)並返回結果。 然后,用戶將看到一個基於該結果的單獨頁面。

因此,您的代碼將類似於:

$("#formMain").submit(function() {
    return false;
});

function submitForm(url)
    $.post(url, $("#formMain").serialize(), function(result) {
        window.open('resultPageURL&result='+encodeURIComponent(result), '_blank');
    });
}

submitForm(e.result);

顯然,結果的格式由您決定-如果需要,您可以使用以下命令輕松返回json對象或結果頁面的網址:

try {
    var obj = $.parseJSON(result);
    window.open('resultPageURL&'+JSON.stringify(obj), '_blank');
} catch (e) {
    alert('Not a valid JSON result');
}

要么

window.open(result, '_blank');

我的客戶有一個相同的請求,客戶希望在新選項卡中打開操作,我們成功地通過將target =“ _ blank”添加到表單屬性中成功完成了該工作,但是隨后遇到了另一個問題..在我們首次提交它以打開購物車后,當我們再次單擊“提交”按鈕時,在尋找解決方案后,它不再打開購物車頁面,我終於為我提出了一個解決方案。

現在我做了一個jQuery,它在延遲一秒鍾后在提交按鈕表單上的新選項卡中打開動作URL,此功能就像一個符咒。

這是我的點擊頁面頁面鏈接

我的代碼:

 jQuery(document).ready(function(){
jQuery('.pagefly-container form').on('submit',function(e){
setTimeout(function () { window.open('https://baaboo.shop/cart','_blank');},1000);});})

暫無
暫無

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

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