2017-06-08 8 views
0

自動保存が実行される前に2秒間隔にすることはできますか?このコードでは、1つのテキストボックスを含むWebページが表示され、DTRSearch.phpの結果が自動的に表示されます。このコードは完全に動作しています。それは単一の行を問い合わせる自動保存ボタンの前に2秒間隔でフォーマット

<div id="search"> 
<input type="text" placeholder="Scan" id="t1" name="t1" onkeyup="aa();" 
autofocus/></div> 

<script type="text/javascript"> 
function aa(){ 
xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","DTRSearch.php? 
nmnm="+document.getElementById("t1").value,false); 
xmlhttp.send(null); 
document.getElementById("searchdiv").innerHTML=xmlhttp.responseText; 
document.getElementById("searchdiv").style.visibility='visible'; 
} 
</script> 
<div id="searchdiv" style="visibility:hidden; position:absolute"> 
</div> 

DTRSearch.php、この送信ボタンを持つ簡単なフォーム、私はこのフォームが自動保存を実行するが、それは2秒

<form action="GetDTRSearch.php" method="get"> 
     <input type="text" value="<?php echo $id_number;>" name="ID_Number" /><br /> 
     <input type="text" value="<?php echo $fullname; ?>"name="Fullname" /><br /> 
     <p class="Ok"><input type="submit" value="Click Confirm" /></p> 
ためのフォームを表示する必要があり、その前にしたいです

答えて

1

ボタンを入力タイプsubmitではなく単純ボタンに変更します。代わりに、[送信]ボタンにクリックリスナーを追加します。クリックリスナーは、setTimeout()関数を呼び出して、2秒後にフォーム送信を実行する必要があります。

<form id="theForm" action="DTRSearch.php" method="get"> 
     <input type="text" value="<?php echo $id_number;>" name="ID_Number" /><br /> 
     <input type="text" value="<?php echo $fullname; ?>"name="Fullname" /><br /> 
     <p class="Ok"><button id="submitButton" value="Click Confirm" /></p> 

その後、あなたはjQueryのを持っていると仮定すると、次のスクリプトを追加します。

<script> 
$(document).ready(function() { 
    $("#submitButton").click(function() { 
     setTimeout(function() { 
      $("#theForm").submit(); 
     }, 2000); 
    }); 
}); 
</script> 
+0

? –

+0

@BryanCarloあなたはそうです。ごめんなさい。私は答えを編集しました。 input type = "submit"ではなく、ボタンを単純なボタンに変更する必要があります。その後、アクションを戻します。この方法では、ボタンがクリックされたときにフォームは自動的に送信されませんが、フォームを送信する前に2秒待つイベントをトリガーします。 –

+0

ThomasJamesさん、お世話になりました。しかし、私はボタンをクリックする必要はありません。それは2秒後に結果を表示した後でそれ自身で動くべきです。 –

0

これは、あなたが変更する必要があるサンプルHTMLコードです。コードの下

<form name="myForm" id="myForm" action="GetDTRSearch.php" method="get"> 
 
     <input type="text" value="<?php echo $id_number;>" name="ID_Number" /><br /> 
 
     <input type="text" value="<?php echo $fullname; ?>"name="Fullname" /><br /> 
 
     <p class="Ok"><input type="submit" value="Click Confirm" /></p> 
 
</form>

フォームは自動的にアクションメソッドへの2秒後にサーバーにポストバックされます。 DTRSearch.phpからデータがフェッチされた後にこのコードが実行されることを確認してください。それ以外の場合は、空の値がサーバーに送信されます。これをクリックして送信することができます。また、データを取得した後で直接関数を作成して呼び出すこともできます。私のGetDTRSearch.phpがどのように行われるか

setTimeout(function() { 
 
     document.forms["myForm"].submit(); 
 
    }, 2000);

+0

病気がこのように見える..ありがとう –

関連する問題