Pitäisi tehdä funktio joka lisää yhden merkin aktiiviseen "input" kenttään siihen kohtaan missä on tekstiosoitin.
Voisiko joku auttaa
7
635
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
- 742972
- 682847
- 681832
Tykkään susta
Elämäni loppuun asti. Olet niin suuresti siihen vaikuttanut. Tykkäsit tai et siitä171689- 241657
- 261612
- 201610
- 481307
- 381283
Onko meillä
Molemmilla nyt hyvät fiilikset😢ei ainakaan mulla mutta eteenpäin on mentävä😏ikävä on, kait se helpottaa ajan myötä. Ko91269