[英]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.