Нужно, чтобы элементы цикла выводились сразу. Т.е вывелся в текст арену 0, через секунду 1, потом 2 и так далее. Т.е выводить элементы отдельно, а не все вместе. Код index.html Код (Text): <html> <head> <script src="prototype.js"></script> </head> <body> <form id="myform"> <input type="button" onclick="dosubmit()" value="Submit"> <textarea id="content" name="content" cols="10" rows="10"></textarea> </form> <script> function dosubmit() { new Ajax.Updater('content', 'i.php', { method: 'post', parameters: $('myform').serialize() } ); } </script> </body> </html> Код i.php Код (Text): <? for($i=0; $i<=55; $i++) { echo $i."\r\n"; sleep(1); } ?> Как это сделать :?:
Попробуй так: [js] Event.observe(window,'load',function(){ Event.observe('btn','click',function(){ new Ajax.Request('i.php', { method: 'post', parameters: $('myform').serialize(), onSuccess:function(tr){ var a=$w(tr.responseText); var n=0; function iter(){ return a[n]; }; new PeriodicalExecuter(function(pe){ insert=iter(); if(insert!==undefined){ $("content").value+=insert+"\n"; }else{ pe.stop(); }; n++; },1); } }); }); }); [/js] Убери из i.php sleep(1) И html: HTML: <form id="myform"> <input type="button" id='btn' value="Submit"> <textarea id="content" name="content" cols="10" rows="10"></textarea> </form> Код не совершенен конечно...
Да пожалуйсто jQuery она я бы сказал более очевидна, чем прототип, но прототип это классно, только эффекты нужно подключать или с акуло или rico или fx... а так вообще классная вещь. )