我有一个在按下按钮后提交的表单。问题是 - 附加了 this.form.submit()
函数的按钮不会发送 POST 变量......
<form method= "post" action="timestable_submit.php">
<input type="hidden" name="b" value="<?php echo $f;?>">
<input type="hidden" name="c" value="<?php echo $s;?>">
<input type="submit" name="sub" id="btn" value="<?php echo $d;?>"
onclick="this.disabled=true; this.form.submit();">
<input type="submit" name="sub" id="btn2" value="<?php echo $w1e;?>">
<input type="submit" name="sub" id="btn3" value="<?php echo $w2e; ?>">
</form>
当我从$_POST['sub']
分配一个变量时 - 我什么也得不到......
有什么想法吗?如果我没有onclick="this.disable=true; this.form.submit();"
线,它可以工作
工作小提琴。
将按钮类型更改为button
而不是submit
,因为您使用this.form.submit()
以编程方式提交表单:
<input type="button" name="sub" id="btn" value="<?php echo $d;?>" onclick="this.disabled=true; this.form.submit();">
如果您可以将逻辑分开并使用submit
事件,那就更好了:
<input type="submit" name="sub" id="btn" value="<?php echo $d;?>"/>
var form = document.forms[0];
form.addEventListener("submit", function(e){
document.getElementById('btn').disabled=true;
})
注意:.disabled=true;
在这里几乎没有影响,因为页面将被重定向到timestable_submit.php
。
希望这有帮助。