无法在Firefox上从Javascript提交表单

Bat*_*han 5 html javascript forms firefox form-submit

我正在创建一个在javascript函数中提交的表单.我将函数绑定到select元素的onchange事件.事件在chrome和firefox中运行良好,我测试了它,它调用了函数.但问题是; 虽然chrome提交表单,但firefox没有.能否请你帮忙?谢谢.

Javascript功能:

function getStatementDetails()
{
    var stmtSelect = document.getElementById("statementSelect");
    var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;

    var stmtForm = document.createElement("form");
    stmtForm.setAttribute('method', "post");
    stmtForm.setAttribute('action', "mymiles-mystatement");

    var stmtId = document.createElement("input");
    stmtId.setAttribute('type', "hidden");
    stmtId.setAttribute('name', "statementID");
    stmtId.setAttribute('id', "statementID");
    stmtId.setAttribute('value', selectedId);

    stmtForm.appendChild(stmtId);
    stmtForm.submit();
};
Run Code Online (Sandbox Code Playgroud)

选择输入:

<select id="statementSelect" name="statementSelect" class="select-miles select-miles-medium spacing-right-10" onchange="getStatementDetails()">
Run Code Online (Sandbox Code Playgroud)

编辑:我已阅读建议的帖子并尝试过.还是行不通.功能最新状态:

function getStatementDetails()
{
    var stmtSelect = document.getElementById("statementSelect");
    var selectedId = stmtSelect.options[stmtSelect.selectedIndex].value;

    var stmtForm = document.createElement("form");
    stmtForm.setAttribute('method', "post");
    stmtForm.setAttribute('action', "mymiles-mystatement");

    var stmtId = document.createElement("input");
    stmtId.setAttribute('type', "hidden");
    stmtId.setAttribute('name', "statementID");
    stmtId.setAttribute('id', "statementID");
    stmtId.setAttribute('value', selectedId);

    var stmtSbmt = document.createElement("input");
    stmtSbmt.setAttribute('type', "submit");
    stmtSbmt.setAttribute('name', "tryMe");
    stmtSbmt.setAttribute('id', "tryMe");
    stmtSbmt.setAttribute('value', "try submit");

    stmtForm.appendChild(stmtId);
    stmtForm.appendChild(stmtSbmt);
    stmtForm.submit();
};
Run Code Online (Sandbox Code Playgroud)

Mar*_*ude 7

评论部分已满,可能是用户看不到正确的答案.@spuyet说这是解决方案:

Javascript form.submit()无法在Firefox中运行

似乎firefox没有发送没有任何按钮的表单.如果您的代码中包含提交按钮,则必须正常工作.

  var button = document.createElement("input");
  button.setAttribute('type', "submit");
  stmtForm.appendChild(button);
Run Code Online (Sandbox Code Playgroud)

而且我认为这可以解决您的问题.

请告诉我们你是否解决了.

  • 我认为您需要将表单附加到正文中,如果您愿意可以隐藏它,然后提交它.`document.getElementsByTagName( "正文")[0] .appendChild(stmtForm);` (2认同)
  • 这很有效.我将表单添加到正文中,现在正在提交.非常感谢,没有你的帮助,也无法解决这个问题. (2认同)