簡體   English   中英

javascript post form.submit();

[英]javascript post form.submit();

您好,我正在嘗試使用 javascript 將兩個字符串發布到另一個 PHP 頁面(字符串是動態的,將在運行時由 JS 例程創建)

我想使用下面的代碼打開一個新的 window 並在該頁面的代碼中檢索發布的數據

我使用以下代碼發布

var title_string = "title1|title2";
var barcode_string = "barcode1|barcode2";
var path="create_labels.php";
var method = "post";
var params = "titles=" + title_string + "&barcodes=" + barcode_string;
    // The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
form.setAttribute("target", "_blank");

for(var key in params) {
    if(params.hasOwnProperty(key)) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
     }
}

document.body.appendChild(form);
form.submit();

為簡單起見,我暫時創建了兩個字符串(標題和條形碼),我將通過 form.submit 上的帖子傳遞它們

我不確定的一點是參數的創建,我這樣做正確嗎? 該代碼確實打開了一個新的 window 但無論出於何種原因我無法檢索發布的數據,我認為我發布錯誤。

你見過那個表格的output嗎? 您正在為參數字符串的每個字符創建隱藏字段。 你確定要這樣做嗎?

params是一個字符串,而不是 object,因此它沒有任何鍵。 您最終處理了字符串的每個字符並得到了這樣的結果:

<input type="hidden" name="0" value="t">
<input type="hidden" name="1" value="i">
<input type="hidden" name="2" value="t">
<input type="hidden" name="3" value="l">
<input type="hidden" name="4" value="e">
<input type="hidden" name="5" value="s">
<input type="hidden" name="6" value="=">
<input type="hidden" name="7" value="t">
<input type="hidden" name="8" value="i">
<input type="hidden" name="9" value="t">

... ETC...

您可能需要這段代碼來轉換它。

暫無
暫無

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

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