Pitäisi tehdä funktio joka lisää yhden merkin aktiiviseen "input" kenttään siihen kohtaan missä on tekstiosoitin.
Voisiko joku auttaa
7
634
Vastaukset
- pliiiiis...
Niin ja prototypes.js kirjasto on käytössä.
- asdf
... vähän tarkemmin: laita ne ko. html/js-kohdat ja laita linkki mistä lyötyy prototypes.js.
- pliiiiiiiis....
Tässä on koodi missä merkin lisäys on kovakoodattu a-nimisen input kenttään. Mutta haluan, että se lisäisi merkin siihen kenttään, joka on aktiivinen. Porototype.js löytyy koodissa määrätystä paikasta.
TEST
function char(data) {
document.form.a.value = document.form.a.value data;
}
X
Y - asdf
pliiiiiiiis.... kirjoitti:
Tässä on koodi missä merkin lisäys on kovakoodattu a-nimisen input kenttään. Mutta haluan, että se lisäisi merkin siihen kenttään, joka on aktiivinen. Porototype.js löytyy koodissa määrätystä paikasta.
TEST
function char(data) {
document.form.a.value = document.form.a.value data;
}
X
YTEST
var active = null; // tarvitaan globaali
function insert_at_cursor(textarea, str)
{
//IE support
if (textarea == null)
return;
if (document.selection) {
textarea.focus();
sel = document.selection.createRange();
sel.text = str;
}
//MOZILLA/NETSCAPE support
else if (textarea.selectionStart || textarea.selectionStart == '0') {
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) str
textarea.value.substring(endPos, textarea.value.length);
} else {
textarea.value = str;
}
textarea.focus(); //palauttaa fokuksen poista jos huono
}
function set_active(obj) {
active = obj;
}
X
Y
Lisää kursorin kohdalle mutta kursori siirtyy loppuun, enkä tiedä onnistuuko samalle paikalle palautus ... hmm
(insert-funktio löytyi tuolta: http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript) - asdf
pliiiiiiiis.... kirjoitti:
Tässä on koodi missä merkin lisäys on kovakoodattu a-nimisen input kenttään. Mutta haluan, että se lisäisi merkin siihen kenttään, joka on aktiivinen. Porototype.js löytyy koodissa määrätystä paikasta.
TEST
function char(data) {
document.form.a.value = document.form.a.value data;
}
X
YNäyttäisi että tuota käyttäen myös kursorin paikka pysyy: http://alexking.org/blog/2004/06/03/js-quicktags-under-lgpl/
- asdf
asdf kirjoitti:
TEST
var active = null; // tarvitaan globaali
function insert_at_cursor(textarea, str)
{
//IE support
if (textarea == null)
return;
if (document.selection) {
textarea.focus();
sel = document.selection.createRange();
sel.text = str;
}
//MOZILLA/NETSCAPE support
else if (textarea.selectionStart || textarea.selectionStart == '0') {
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) str
textarea.value.substring(endPos, textarea.value.length);
} else {
textarea.value = str;
}
textarea.focus(); //palauttaa fokuksen poista jos huono
}
function set_active(obj) {
active = obj;
}
X
Y
Lisää kursorin kohdalle mutta kursori siirtyy loppuun, enkä tiedä onnistuuko samalle paikalle palautus ... hmm
(insert-funktio löytyi tuolta: http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript)Kursorin position saa asetettua näin (mozilla/firefox)
//MOZILLA/NETSCAPE support
else if (textarea.selectionStart || textarea.selectionStart == '0') {
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) str
textarea.value.substring(endPos, textarea.value.length);
textarea.focus(); // kursorin position asetus str:n jälkeen
textarea.selectionStart = startPos str.length;
textarea.selectionEnd = startPos str.length;
}
Joku voisi testaa miten IE käyttäytyy tolla aiemalla koodilla. Jaa... Operalla toimii ja käyttää IE-koodia, joten toiminee oikein myös IE:llä. - pliiiiiiis....
asdf kirjoitti:
Kursorin position saa asetettua näin (mozilla/firefox)
//MOZILLA/NETSCAPE support
else if (textarea.selectionStart || textarea.selectionStart == '0') {
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) str
textarea.value.substring(endPos, textarea.value.length);
textarea.focus(); // kursorin position asetus str:n jälkeen
textarea.selectionStart = startPos str.length;
textarea.selectionEnd = startPos str.length;
}
Joku voisi testaa miten IE käyttäytyy tolla aiemalla koodilla. Jaa... Operalla toimii ja käyttää IE-koodia, joten toiminee oikein myös IE:llä.Tuo toimii loistavasti ainakin Macissa Safarilla.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod336594- 356043
- 293334
- 452790
- 342614
- 152308
- 372158
- 162006
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons401849En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191767