Pitäisi tehdä funktio joka lisää yhden merkin aktiiviseen "input" kenttään siihen kohtaan missä on tekstiosoitin.
Voisiko joku auttaa
7
720
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
Silmienvääntelijä-persut pääsivät Japanissa sarjakuvaan
Torille! https://www.hs.fi/kulttuuri/art-2000011943173.html1875075Nato kaatamassa Petterin haaveileman Tunnin junan?
Nato edellyttää pohjoisessa Jäämereltä Rovaniemelle saakka kapearaitesta suoraa rautatieväylää, joka maksaa paperirahaa,254472Donald Trump pääsi samalle listalle Sanna Marinin kanssa
Eli vasemmistolaisen Time-median top 100 jännäihmisten listalle. https://time.com/collections/time100-next-2021/593769993137Älkää vaan sairastuko syöpään Suomessa
Tilaston mukaan Suomi, Slovakia ja Latvia lääkitsee aivan pohjamudissa syöpää. Sairastunutta hoidetaan edelleen vanhana2593039Kyllä, maata ei halua puolustaa nimenomaan punavihreän puolen edustajat
"Esimerkiksi maanpuolustushenki on keskimääräistä alempana naisten, arvoliberaalien, heikossa taloustilanteessa olevien1442934- 522531
- 271939
- 561873
- 771814
- 221787