これは、有用な回答を試みるための非常に広範な質問です。
リストボックスから始めましょう:あなたは尋ねます:once user types something in text box and press enter it should go and add in a list box. and after 60 seconds i want the values in the list box to be passed to next.php
ユーザーがそのリストボックス(のデータ)に対して何もしないのに、なぜデータをリストボックスに入れるのでしょうか?したがって、あなたの考え方は、リストボックスを使用して個別の値を保持し、next.phpにPOSTできるようにすることだったと思います。
あなたが言う値を区切る?悪くない取引。json、ajaxなどを無視して、単純な単純なバニラJavaScriptを使用して「釣り方を教えて」みましょう。モジュール化はあなたに任せます!
html input-elementのname-attributeとして、次のような配列<input "name=itm[]">
を指定することもできます:(これは「リストボックス」(別名)を作成するときにも行います<select name="var[]" multiple="yes">
)。それらをリストにうまく表示しましょう。したがって、textarea / inputfieldでEnterキーを押すと、入力フィールドを含むリストアイテムがフォームに追加されます。
タイマーがゼロに達したら、form.submit()
(Andreasも指摘したように)を使用してフォームを送信する必要があります。
簡略化されているが完全に機能する例を次に示します 。
<!DOCTYPE html><html><head><title>demo</title>
<script type="text/javascript">
window.onload=function(){
itmLi=document.createElement('li');
itmInp=itmLi.appendChild(document.createElement('input'));
itmInp.type='text';
itmInp.name='val[]';
theItms=document.getElementById('theItems');
fetchItem=function(el,evt){
var itmAct, keyCode=(evt.which) ? evt.which : event.keyCode;
if (keyCode == 13){
itmAct=theItms.appendChild(itmLi.cloneNode(true));
itmAct.firstChild.value=el.value;
el.value='';
return false;
}
};
theTmr=document.getElementById('tmrOut');
myTimer=function(){
var t=Number(theTmr.innerHTML);
if(t){
theTmr.innerHTML=t-1;
window.setTimeout(myTimer,1000);
} else {
theItms.parentNode.submit();
}
};
window.setTimeout(myTimer,1000);
document.getElementById('inpTxt').focus(); //sigh.. firefox does not work AGAIN.
};
</script>
</head><body>
<p>Time left: <span id="tmrOut">60</span></p>
<textarea id="inpTxt" onkeyup="return fetchItem(this,event);"></textarea>
<form id="theForm" method="post" action="next.php">
<ul id="theItems"></ul>
</form>
</body></html>
そしてもちろん、このフィドルで動作するデモを見つけることができます(このデモは60秒ではなく10秒間実行されることに注意してください)。
これで、php-scriptは1つの変数next.php
を受け取ります:(すでに名前を付けているように)が、この変数は実際には入力されたすべての項目を含む配列です(Enterキーで区切られています)。
多田! val
変数をphpに渡す方法だけを尋ねたので、私の答えはここで止まります。受信側のphp側でヘルプが必要な場合は、最初にRTMをお勧めします。
幸運を!!