Im Input-Feld Cursor setzen

queicherius

♥ PHP ♥
Ich möchte, dass der Cursor bei einem Klick auf einen Button x Zeichen im Input-Feld zurück geht

ODER

dass der Cursor an eine bestimmten Stelle im Input-Feld gestellt wird

Also so wie hier im Forum (im Editor) zwischen
Code:
[b`]
und
Code:
[/b`]
.

(Backtick nur dazu da, dass der BBCode-Decoder nicht anspringt ;))
 
@1: Das habe ich auch schon probiert allerdings kann man da (so wie ich das verstanden hab) nur in ein Eingabefeld springen und nicht an eine bestimmte Stelle im Eingabefeld :confused:

@2: Ja danke das bringt mich schon mal einen riesen Schritt weiter.

Da hilft immer ein Blick in die entsprechenden Skript-Dateien.
Das wird hier im Board auch verwendet
Hab ich schon gemacht allerdings steht da alles ohne Zeilenumbrüche -> Sehr schwer zu lesen... vllt. mal wenn ich Zeit hab^^

Doch noch eine Frage:
Wie kann man ohne Button den Selektierten Text auslesen? Ansonsten springt mein Formular an... ;) Oder gibt es ne Möglichkeit den Submit zu unterbinden?
 
Leider baue ich meinen Editor mit Links als Benutzeroberfläche auf. Deshalb wird wenn man auf einen Link klickt leider die Selection entfernt... :-(
Deshalb die Frage ob man Buttons auch anklicken kann ohne dass das Formular abgeschickt wird.
 
Ach so war das gemeint. Ja, dass geht natürlich und zwar gibt es neben den Submit-Buttons auch noch einfache Buttons (<input type="button" />). Dann kannst du per Event-Handler (onclick etc.) mit JavaScript bestimmte Aktionen ausführen.
 
Deshalb die Frage ob man Buttons auch anklicken kann ohne dass das Formular abgeschickt wird.
Ach so war das gemeint. Ja, dass geht natürlich und zwar gibt es neben den Submit-Buttons auch noch einfache Buttons (<input type="button" />). Dann kannst du per Event-Handler (onclick etc.) mit JavaScript bestimmte Aktionen ausführen.
Ahhhhh...

-Brett vor'm Kopf-

DANKE
Ganz so, wie in dem Beispiel zu cracks empfohlenen Link ;)

mfg Maik
 
Jetzt hab ich's mal ausprobiert und stehe vor einem Weiteren Problem.
Wenn ich Text z.B. in der Überschrift markiere und die Funktion dann aufrufe dann wird der markierte Text ausgegeben.
ABER wenn ich Text in der textarea markiere geht's nicht :confused:

Woran liegt das?
 
Ok jetzt geht es und ich hab die Funktion nach meinen Wünschen umgeschrieben. Im FF3 funktioniert alles auch soweit aber in allen anderen Browsern nicht :rolleyes:

Kann mir wer helfen?

Funktion:
Code:
function insert_text(strText1, strText2,objElem)
{
     if(document.selection)
     {
        objElem.focus();
        document.selection.createRange().text=strText1+document.selection.createRange().text+strText2;
        document.selection.createRange().select();
     }
     else if (objElem.selectionStart || objElem.selectionStart == '0')
     { 
        intStart = objElem.selectionStart;
        intEnd = objElem.selectionEnd;
        
        if(intStart != intEnd){
        insgesammtertext = (objElem.value).substring(0, intStart);
        insgesammtertext += strText1;
        insgesammtertext += (objElem.value).substring(intStart, objElem.value.length);
        insgesammtertext += strText2;
        insgesammtertext += (objElem.value).substring(intEnd, objElem.value.length);
        objElem.value = insgesammtertext;
        objElem.selectionStart=objElem.selectionEnd=intStart+intEnd+strText1.length+strText2.length;
        }else{
        insgesammtertext = (objElem.value).substring(0, intStart);
        insgesammtertext += strText1+strText2;
        insgesammtertext += (objElem.value).substring(intEnd, objElem.value.length);
        objElem.value = insgesammtertext;
        objElem.selectionStart=objElem.selectionEnd=intStart+strText1.length;
        }
        

        objElem.focus();
     }
     else
     {
        objElem.value += strText1+strText2;
     }
}

Aufruf:
Code:
insert_text("",,feld)

Feld ist dabei definiert...
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück