Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    direzione scroll e focus mex

    ciao ragazzi ho fatto un chat engine molto rustico, mi funziona tutto tranne due cose che sono abbastanza irritanti..


    la prima è che io voglio che il testo scorra dal basso verso l'alto: cioè l'ultimo messaggio inviato compaia in basso e non in alto.. ho risolto in php cambiando il parametro DESC o ASC della query, ma mi sono arenato con la barra di scorrimento; come faccio a dirgli che ogni volta che carica la pagina mi deve partire dal basso e non dall'alto?


    seconda cosa..per l'inserimento dei messaggi ho fatto il seguente form


    <form name="INform" method="post" action="Chatdaemon.php" onSubmit="javascript:location.reload();">

    <input name="mex" type="text" id="mex" size="70">

    <input name="inviato" type="submit" class="button" onclick="javascript:document.INform.mex.focus();" value="Invia">

    </form>


    teoricamente ogni voltache schiaccio invio o clicco sul tasto invia mi dovrebbe riposizionare il cursore di testo all'interno del textfield, ma non succede...che sbaglio?

    vi ringrazio in anticipo,
    Stefano

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se il documento stesso ricarica come puo' restare il focus sul campo a seguito di questo
    onclick="javascript:document.INform.mex.focus();
    ?
    in che tipo di elemento appare il contenuto preso da db?

    scrivi una funzione richiamata onload che scrolli il contenuto fino al massimo e setti nuovamente il focus sul campo
    codice:
    window.onload=function(){
      // se il contenuto e' in un div con id="chat"
      var el=document.getElementById('chat');
      el.scrollTop=el.scrollHeight;
      document.INform.mex.focus();
    }
    ciao

  3. #3
    non mi funziona..
    la strutta della pagina è così: 3 frame
    a destra un fram che mi fa vedere gli utenti connessi al momento.
    al centro il fram chatview che fa una query nel database cancellando i messaggi vecchi e prendendo quelli appena scritti.
    il frame in basso che è la form ed invia al chatdeamon.php i dati per l'inserimento.

    il mio problema è che il chatview dovrebbe scrollare al contrario i messaggi ogni volta che ricarica la pagina. cioè quello appena scritto si posiziona (partendo dall'alto) subito sotto il messaggio precedente.

    l'altro problema è che nel frame in bass (chatengine) ogni volta che clicco su invio mi si dovrebbe riposizionare il cursore sul campo di testo (mex), ma non mi funziona..
    premettendo che sono un programmatore php e non javascript aiutatemi.. in giro per la rete trovo solo esemp obsoleti e non funzionanti.

    grazie

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    allora nel documento nel frame basso, quello col form
    codice:
    window.onload=function(){
      document.INform.mex.focus();
    }
    nel documento nel frame chatview
    codice:
    window.onload=function(){
      self.scrollTo(0,10000000000000);
    }
    ciao

  5. #5
    quelle due porzioni di codice le devo mettere tra i tag <head></head> mettendoli nella forma <script language="javascript">
    //->
    codice...

    <--
    </script>

    e basta?

    inoltre levo il paramtro onclick e on submit all'interno del form?


    grazie mille sei davvero gentile e perdona per queste domande che possono sembrarti stupide, ma sono un neofita del javascript :-)

  6. #6
    altra cosa molto importante

    c'è un modo per dire al browser di eseguire la porzione di codice

    window.onload=function(){
    self.scrollTo(0,10000000000000);
    }

    ogni tot secondi? in maniera da non dover usare il refresh html che è orrendo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.