Ciao ragazzi, vorrei sapere se qualcuno riesce a darmi una mano.
ho una chat in javascript, che forse qualcuno conosce già. Il suo nome è JQuery. composta da una pagina HTML con la visualizzazione dei messaggi in chat con subito sotto il form di invio mex e gli script in javascript.
il form non fa altro che inviare ad un file php, il quale scriverà su un .txt il messaggio e manda il responso positivo a questa pagina HTML aggiungendo un div con il nuovo commento.codice:<body> <center> <div id="daddy-shoutbox"> <div id="daddy-shoutbox-list"></div> <form id="daddy-shoutbox-form" action="demos/jquery-shoutbox/daddy-shoutbox.php?action=add" method="post"> Nick: <input type="text" name="nickname" /> Say: <input type="text" name="message" /> <input type="submit" value="Submit" /> <span id="daddy-shoutbox-response"></span> </form> </div> </center> <script type="text/javascript"> var count = 0; var files = 'demos/jquery-shoutbox/'; var lastTime = 0; function prepare(response) { var d = new Date(); count++; d.setTime(response.time*1000); var mytime = d.getHours()+':'+d.getMinutes()+':'+d.getSeconds(); var string = '<div class="shoutbox-list" id="list-'+count+'">' + '<span class="shoutbox-list-time">'+mytime+'</span>' + '<span class="shoutbox-list-nick">'+response.nickname+':</span>' + '<span class="shoutbox-list-message">'+response.message+'</span>' +'</div>'; return string; } function success(response, status) { if(status == 'success') { lastTime = response.time; $('#daddy-shoutbox-response').html('[img]'+files+'images/accept.png[/img]'); $('#daddy-shoutbox-list').append(prepare(response)); $('input[@name=message]').attr('value', '').focus(); $('#list-'+count).fadeIn('slow'); timeoutID = setTimeout(refresh, 3000); } } function validate(formData, jqForm, options) { for (var i=0; i < formData.length; i++) { if (!formData[i].value) { alert('Please fill in all the fields'); $('input[@name='+formData[i].name+']').css('background', 'red'); return false; } } $('#daddy-shoutbox-response').html('[img]'+files+'images/loader.gif[/img]'); clearTimeout(timeoutID); } function refresh() { $.getJSON(files+"daddy-shoutbox.php?action=view&time="+lastTime, function(json) { if(json.length) { for(i=0; i < json.length; i++) { $('#daddy-shoutbox-list').append(prepare(json[i])); $('#list-' + count).fadeIn('slow'); } var j = i-1; lastTime = json[j].time; } //alert(lastTime); }); timeoutID = setTimeout(refresh, 3000); } // wait for the DOM to be loaded $(document).ready(function() { var options = { dataType: 'json', beforeSubmit: validate, success: success }; $('#daddy-shoutbox-form').ajaxForm(options); timeoutID = setTimeout(refresh, 100); }); </script> </body>
quello che io vorrei è utilizzare questa chat come una shoutbox, quindi inviare un messaggio attraverso il form e visualizzare solo l'ultimo inviato. Quindi dallo script in php ho corretto la cosa e adesso svuota il txt prima di inserire il record. ma nella pagina HTML il div viene sempre aggiunto e quindi visualizza uno sotto l'altro i messaggi.
potete aiutarmi? qualcuno conosce qualche altro script in javascript? grazie.


Rispondi quotando
