2016-07-10 13 views
1

ボタンを押した後に送信するフォームがあります。問題がある - POST変数を送信しません添付this.form.submit()機能を持つボタン...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();"ライン

+1

これは重複していません。これは、POSTingで渡されない変数に関するものです。 – stilts77

答えて

2

Working fiddleを持っていない場合は動作します。

button代わりのsubmitに変更し、ボタンの種類をおthis.form.submit()を使用してプログラムでフォームをsubmitingているので:

<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;は、ページがにリダイレクトされるため、ほとんど効果がありません。

これが役に立ちます。

+0

こんにちは - これはうまくいきません。同じことが起こります。 – stilts77

+0

私のアップデートをチェックすると、コンソールをチェックすると、変数が送信されることがわかります... –

+0

ありがとう - 私はそれを行っていきます。 'this.disable = true; 'ボタンが複数回クリックされないようにする必要があります(受信ページにゲームポイントが追加されます)。 – stilts77

関連する問題