2016-07-09 6 views
0

私はこの小さなプログラムを作ったが、5秒待っても値は送られない。私が5秒以内に答えると、送信ボタンを押すと正常に動作します。私はこのようなアプリケーションを作るためにAJAXとJSONを学ぶべきでしょうか?値を持つjavascriptでフォームを投稿する方法

<!DOCTYPE html> 
<html> 
<style> 
#myProgress { 
    position: relative; 
    width: 100%; 
    height: 10px; 
    background-color: #ddd; 
} 

#myBar { 
    position: absolute; 
    width: 0%; 
    height: 100%; 
    background-color: #F76B4C; 
} 
</style> 
<body> 
    <?php 
if(isset($_POST['Submit'])){ 

$achternaam = $_POST['lname']; 
echo "De winnaar is: " .$achternaam;} 
?> 
<p>Vul snel iets in!</p> 
<div id="myProgress"> 
    <div id="myBar"></div> 
</div> 
<br> 
<br> 
<form method="post" id="myForm" action="post"> 
Last name: <input type="text" name="lname"><br><br> 
    <input type="submit" name="Submit" value="Submit"> 
</form> 

<script> 

function move() { 
    var elem = document.getElementById("myBar"); 
    var width = 100; 
    var id = setInterval(frame, 50); 
    function frame() { 
    if (width <= 0) { 
     clearInterval(id); 
     document.forms["myForm"].submit(); 
    } else { 
     width--; 
     elem.style.width = width + '%'; 
    } 
    } 
} 
move() 

</script> 

</body> 
</html> 

お返事ありがとうございました。

+0

まず、HTML5ではフォームに空ではない 'action'を含める必要があります(この場合は' action = "post"を使用します)。第二に、あなたはAJAXやJSONを使う必要はありませんが、とにかくそれらを学ぶ必要があります。それは有益なスキルです。第3に、あなたのPHPを本体に移動するか、表示されません。これらはあなたの質問に直接関係していませんが、私はそれらをとにかく指摘したいと思いました。 –

+0

私は変更を加えました。 – Martijn

+0

本当にAjaxとJsonは必要ありません。ブール値を作成して5秒後にfalseにするだけで、これを行うことができます。値がtrueの場合、フォームはサブミットされません。 –

答えて

0

解決策が見つかりました。これは、フォーム内でonclick()JavaScriptを使用すると機能します。 move()関数で同じ関数を使用します。

関連する問題