我有以下表格:
<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下运行,直到我能够正常工作
答案 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