添加输入值并在加载时提交表单

时间:2017-03-31 16:07:31

标签: javascript forms

我有以下表格:

<form action="http://example.co.uk/order" method="post" id="voucher" class="AVAST_PAM_nonloginform">
  <fieldset>
    <h4>Vouchers</h4>
    <input type="text" class="discount_name form-control" id="discount_name" name="discount_name" value="">
    <input type="hidden" name="submitDiscount">
    <button type="submit" name="submitAddDiscount" class="button btn btn-default button-small"><span>OK</span></button>
  </fieldset>
</form>

并使用以下脚本:

<script>
window.onload = function(){
document.getElementById(\"discount_name\").value = \"50681\";
}
</script>

填充输入。然后我用:

<script>
window.onload = function(){
document.forms['voucher'].submit();
}
</script>

激活提交。

但是,使用第二个脚本,它会阻止“50681”输入文本框(而是提交空白输入)。

最初我的代码为:

  <script>
    window.onload = function(){
    document.getElementById(\"discount_name\").value = \"50681\";
document.forms['voucher'].submit();
    }
    </script>

(我认为这可能是一个时间问题。)

有什么想法吗?

P.S。反斜杠的原因是因为它目前正在php下运行,直到我能够正常工作

1 个答案:

答案 0 :(得分:1)

问题似乎与(\"discount_name\").value = \"50681\";&amp; document.forms['voucher'].submit();

在任何一种情况下,您都可以避免\&amp;对于表单,您需要通过index号码进行定位。假设只有一个表单存在,所以在索引

中传递0
 window.onload = function(){
    document.getElementById("discount_name").value = "50681";
    document.forms[0].submit();
    }

注意:在演示中,我已将动作网址更改为https,否则将禁止从jsfiddle进行调用。在您的情况下,您仍然可以在代码中保留http

DEMO USING ID