【问题标题】:javascript post form.submit();javascript post form.submit();
【发布时间】:2012-04-05 19:20:33
【问题描述】:

您好,我正在尝试使用 javascript 将两个字符串发布到另一个 PHP 页面(字符串是动态的,将在运行时由 JS 例程创建)

我想使用下面的代码打开一个新窗口并在该页面的代码中检索发布的数据

我用下面的代码发帖

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 上的帖子传递它们

我不确定是参数的创建,我这样做对吗?该代码确实打开了一个新窗口,但无论出于何种原因,我都无法检索发布的数据,我认为我发布的数据有误。

【问题讨论】:

    标签: javascript forms post submit


    【解决方案1】:

    你看到那个表格的输出了吗?您正在为参数字符串的每个字符创建隐藏字段。你确定要这样做吗?

    【讨论】:

      【解决方案2】:

      params 是一个字符串,而不是一个对象,因此它没有任何键。您最终会处理字符串的每个字符并得到以下结果:

      <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">
      

      ...等等...

      你可能需要这个bit of code 来转换它。

      【讨论】:

        猜你喜欢
        • 2017-08-18
        • 1970-01-01
        • 2011-06-21
        • 1970-01-01
        • 2014-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多