2016-07-10 61 views
1

我有一個按鈕被按下後提交的表單。問題是 - 貼有不發送POST變量this.form.submit()功能按鈕...爲什麼我的POST變量不會在this.form.submit();?

<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();"

+1

這不是重複的。這是關於不傳遞POST的變量。 – stilts77

回答

2

Working fiddle

更改按鈕類型button而不是submit因爲你submiting形式以編程方式使用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

希望這會有所幫助。

+0

你好 - 這也行不通。同樣的事情發生。 – stilts77

+0

檢查我的更新,你可以檢查控制檯,你會發現變量發送... –

+0

謝謝 - 我會給它一個去。 'this.disable = true; '是必要的,因爲它可以防止多次點擊按鈕(這會在接收頁面上產生額外的遊戲點!)。 – stilts77

相關問題