我有一个按下按钮后提交的表单。问题是 - 附加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();"
行
答案 0 :(得分:2)
<强> Working fiddle 强>
将按钮类型更改为button
而不是submit
,因为您使用this.form.submit()
以编程方式提交表单:
<input type="button" name="sub" id="btn" value="<?php echo $d;?>" onclick="this.disabled=true; this.form.submit();">
如果您可以分离逻辑并使用{{1}}事件,那就更好了:
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;
。
希望这有帮助。