Newsgroup: it.comp.lang.javascript
Titolo: attivare casella di testo e posizionare il cursore

ho creato una pagina html con questa casella di testo
 
<textarea rows="15" cols="70">
riga1
riga2
riga3
</textarea>
 
Quando la pagina viene richiamata pero' la casella deve essere attiva 
(deve avere il focus), senza bisogno di cliccare col mouse per portarci 
il cursore al suo interno.
Si puo' notare infatti che molti siti hanno la caselle di ricerca già 
attiva: google, youtube, ecc.
 
Inoltre il cursore non deve essere posizionato semplicemente all'inizio 
del testo, ma ad esempio all'inizio della seconda riga (riga2).
 
E' possibile?
Mi sono spiegato?


 
In pratica trovi la posizione del primo "a capo" (\n o \n\r), ci
aggiungi eventualmente 1 e imposti con questo valore le suddette propriet�.
 
Considera per� che su IE sono implementate dalla versione 9 in avanti,
per le versioni precedenti devi maneggiare gli oggetti range e
selection; se cerchi sul web troverai diverse informazioni in merito.
 

 proprio devi, puoi usare `selectionStart` e `selectionEnd`:
 
sar� contro le euristiche ma � molto pratico, ad esempio nel caso si 
voglia editare un file php che contiene errori: il cursore si puo' 
posizionare direttamente sulla prima riga incriminata.
 
In questo modo si puo' evitare quindi l'uso dei tradizionali IDE, oltre 
al fatto che bisogna andare a scovare il file manualmente, e 
posizionarsi manualmente sul punto critico (ogni volta si perde una 
bella manciata di secondi).
 
Naturalmente php offre varie funzioni per ottenere i dati dell'errore 
(nome del file, numero di riga, ecc).
Se conosci il linguaggio lo saprai bene, e saprai altrettanto bene come 
interfacciarlo con html/js...

 interfacciarlo con html/js...
 
Appunto per questo lo sconsiglio. Piuttosto, userei ACE:
 
http://ace.ajax.org/
 
 
Che almeno non violi alcuna euristica, e dai anche un aspetto migliore
al tutto, con pi� funzionalit�.
 
Non di meno, manipolare un file php da client ti apre a una serie di
attacchi di ogni tipo che, se riusciti, rischiano di farti dei danni
seri sul server. Devi sempre pensare in termini "Se un sito malevolo
riesce a iniettare codice in questa pagina, qual � il massimo danno che
pu� fare?". Se a una pagina dai la possibilit� di editare codice php
lato client, il danno che pu� fare non ha virtualmente limiti. Un banale
attacco XSS da accesso all'esecuzione di codice lato server.
 


 
ma per farlo funzionare gli devo fornire per forza le credenziali ftp 
del mio sito?
 
A parte il fatto che dopo averlo lasciato aperto per un quarto d'ora, mi 
ha bloccato il browser


 
� uno strumento che tende ad impallarsi spesso.
A parte il fatto che dopo averlo lasciato aperto per un quarto d'ora, mi 
ha bloccato il browser.
Quindi ancora va perfezionato.
 
Comunque ha qualcosa di simile a quello che mi interessa (posizionamento 
immediato sull'errore)?

 immediato sull'errore)?
 
Se dai un'occhiata a Cloud9, ti permette anche di fare il debugging
remoto oltre che il posizionamento sull'errore. ACE mette a disposizione
un set di API completo, puoi usarlo come più ti aggrada. Certo, se ti si
impalla sulla tua macchina e devi fare qualcosa di spartano solo a tuo
uso e consumo, ha poco senso che tu stia a perderci tempo dietro, adesso.
 


 
si, ad ogni modo appena posso cercherò di conoscerlo meglio

 naturale, anche se ho dovuto aspettare circa mezzo minuto
 
E, come ti ho chiesto, mi sapresti indicare come riprodurre tale
problema? Personalmente, come ti ho detto, uso Cloud9 senza alcuna
difficoltà anche su una macchina che non è entry level.
 


 
mi sembra che cliccando qua e la mi si erano 2 o 3 schede di Cloud9.
Avendole quindi lasciate aperte per una manciata di minuti (sono andato 
a fare un bisogno ;) ), quando sono tornato ho trovato il browser quasi 
immobilizzato...
Comunque ripeto non è andato fuori controllo, è bastato chiuderlo (prima 
di chiudersi si è fermato un po' a riflettere... non mi chiedere su cosa 
;) ), e alla riapertura si è ripreso...
Questo è successo con firefox (forse qualche estensione ha dato 
fastidio). Quindi secondo me non ci si può basare in modo assoluto, su 
queste pseudo-disfunzioni: potrebbe essere la mia configurazione del 
browser non ottimale...
 
 

 fastidio). 
 
È probabile. Ma se hai Flash installato è più probabile che fosse un
problema di Flash, onestamente. Quante volte hai avuto questo problema?
È sistematico?
 


 
Cloud9 l'ho usato pochissime volte, e questa cosa mi è capitata solo una 
volta.
Come già detto, quindi devo avere il tempo per usarlo un altro po'

 Come già detto, quindi devo avere il tempo per usarlo un altro po'
 
con l'home-page di youtube aperta, si verifica un rallentamento quando 
si cambia scheda (bisogna aspettare almeno 5 secondi perchè sia 
realmente attiva).
Poi faccio click su un video di youtube: il browser si blocca e poi va 
in crash, e chiede di essere riavviato.
 
Con chrome invece ho provato ad es. ad esegure un file php, ed in basso 
è apparsa la scritta 'Running PHP Process' col dischetto che gira: 
l'esecuzione non è mai partita.
 

 Come già detto, quindi devo avere il tempo per usarlo un altro po'
 
Fammi sapere.

 per scrivere codice. Non è un IDE come C9 (di cui ACE è un componente).
 
ok adesso è chiaro
 

 Naturalmente poi va installato...
 
Sono script JS, non devi "installare" alcunché, solo copiare i file.
Come qualsiasi libreria javascript.
 
Se non sei abituato a usare git, puoi scaricare il tutto come zip.
 
Nel link che ti ho dato c'è tutta la documentazione del caso. Per quel
che ti riguarda, hai un comodo metodo chiamato `gotoLine` che fa
esattamente ciò che ti serve. Puoi testarlo online, direttamente qui:
 
http://ajaxorg.github.com/ace/build/kitchen-sink.html
 
 
In tale pagina, apri la web console del tuo browser, e scrivi:
 
    ace.gotoLine(13);
 
E vedrai che si posizionerà sulla 13esima riga, mettendola in evidenza.
Puoi anche specificare una colonna:
 
    ace.gotoLine(13, 10);
 
E impostare il documento in PHP per vedere come viene renderizzato.

 E vedrai che si posizionerà sulla 13esima riga, mettendola in evidenza.
 
non sembra funzionare, il cursore va sempre sulla prima riga

 non sembra funzionare, il cursore va sempre sulla prima riga
 
Stai sbagliando qualcosa. Adesso devi solo capire cosa. ;)
 
Per essere più chiari, usando Firefox (ultima versione, localizzato in
inglese), una volta caricata la pagina:
 
    1. Apri la Web Console: Menù Tools > Web Developer > Web Console
    2. Nella casella di testo scrivi: ace.gotoLine(3);
    3. Premi invio
 
Il cursore andrà sulla terza riga, mettendola in evidenza.
 
Se non succede, c'è qualcosa che non fai correttamente.

 inglese), una volta caricata la pagina:
 
ah, il mio firefox è in taliano...

 ah, il mio firefox � in taliano...
 
cambia solo la dicitura delle voci di men� per l'apertura della 
console, qui (firefox per mac, per win cambier� poco, basta cercare) �
 
strumenti -> sviluppo web -> console web
 
il resto �, ovviamente, identico a quanto indicatoti
 

 il resto �, ovviamente, identico a quanto indicatoti
 
bene, finalmente sono entrato, e funziona!!!
Thanks!!!


Saremmo curiosi di sapere cos'� che facevi prima, quindi, per non farlo
"funzionare". :)
 

 Thanks!!!
 
be' dai… un giorno per trovare una voce di menù… spero vivamente per te 
che di paghino a ore :D
 


 
ma non so... questi software... mai affidabili

 ma non so... questi software... mai affidabili
 
ï¿½La maggior parte delle volte la vera causa dei problemi dati da un
software ï¿½ da ricercarsi tra la scrivania e la sedia.ï¿½ ;)

 software ï¿½ da ricercarsi tra la scrivania e la sedia.ï¿½;)
 
:')


 
mi sa che hai frainteso :-!


mi sa che scherzavo… ;)
http://it.wikipedia.org/wiki/Sarcasmo
 
 


non avevo notato l'emoticon, chiedo scusa ;)
Stavo usando un mailer che non trasforma le faccine di testo, in faccine 
grafiche...