Kann ich bestimmte Stringteile im Textfeld sperren

Liebe/-r Experte/-in,
ich netschuldige mich,m euch nochmal zu belästigen.
Kann ich irgendwie bestimmte Stringteile in eim Textfeld sperren?
Also zB Sehr geehrte Damen und Herren,
hiermit laden wir Sie
und editierbar erst ab hier.

und dann wieder sperren ab:
Mit freundlichem Gruß

  • Der Vorstand -

Servus,

das geht natürlich.

Ein Ansatz wäre, jeden Tastendruck abzufangen, den entsprechenden Buchstaben der gerade eingegeben wurde abzufragen und zwischenzuspeichern und den Inhalt der Textbox jedes Mal neu zu setzen als Verkettung des Textes der statisch bleiben soll und der jeweils eingegebenen Zeichenkette.

Eine ganz einfache Beispielseite könnte so aussehen:

var textStart = „Sehr geehrte Damen und Herren, \r\r“;
var textEnd = „mit freundlichem Grüßen!“;
var currentText = „“;
$(function() {
$(’#meintext’).keypress(function(e) {
currentText += String.fromCharCode(e.keyCode);
$(’#meintext’).val(textStart + currentText + textEnd);
e.preventDefault();
});

$(’#meintext’).keydown(function(e) {
if (e.keyCode == 8 && currentText !== „“)
{
currentText = currentText.substring(0, currentText.length-1);
}
$(’#meintext’).val(textStart + currentText + textEnd);

});
});

Hier Text eingeben:

Sehr geehrte Damen und Herren,

mit freundlichem Grüßen!

Hoffe das hilft. Wichtig: jQuery Referenz nicht vergessen! Mit dem Javascript Standardrepertoire funktioniert es auch, ist aber nicht ganz so elegant.

Hi,
damke für Deine superschnelle Antwort. Das nene ich mal wirklich schnell!
Ich probiers morgen mal aus. Für heut habe ich die Nase voll.

Ich generiere via pdf halt ein pdf. Und da soll die Gruß und Schlussformel fix sein.
Die beiden Teile werden vorbelegt und ins Textfeld geschrieben. Soweit so gut. Nur könne die theoretisch auch versehentlich geändert werden. Damit jedes Schreiben (pdf) einheitlich ist, sollen halt Grußformel und Anrede gesperrt werden!

Also dazu musst du schon ein custom control machen und das default text control erweitern. Standardmässig gibt’s sowas nicht.

Hi,
danke für Deine superschnelle Antwort.
Schade, ich dachte da gibts sowas wie eine Zauberformel für. :wink:

Was ist ein default text control? Sind das die js Funktionen?

Sorry, ich dachte du fragst zu ASP.NET, aber sehe gerade du brauchst eine Lösung in js. Da musst du das alles ausprogrammieren oder eine Library nehmen, die sowas unterstützt. Mir ist da nichts bekannt. Wenn du fixen Start/Ende brauchst, würde ich das ausserhalb des Feldes anzeigen - damit ist es automatisch read-only.

Moin moin,

falls es möglich ist, dann per JavaScript. Dieses kann man als User aber abschalten, einige tun dies aus Sicherheitsgründen.

Ich halte das Vorhaben aber für sehr umständlich. Man könnte vor das Textfeld „Sehr geehrte Damen und Herren, hiermit laden wir Sie …“ und nach dem Textfeld „Mit freundlichem Gruß, - Der Vorstand -“ schreiben. Das wäre unproblematisch und einfach zu erstellen.

Viel Erfolg!

Hallo,

das ist meines Wissens mit JavaScript nicht möglich. In dem Fall kann man sich aber doch einfach behelfen, indem man die beiden gesperrten Textabschnitte garnicht erst ins Textfeld packt, sondern über und unter das Textfeld. Das kriegt man optisch sicherlich auch so hin, dass das dem Anwender garnicht groß auffällt.

Viele Grüße,

Thorsten

Hi Oliver
Gehen tut das direkt nicht, nur über umwege. Diese sind aber so umständlich das es sich in keinster weise lohnen würde.

Anderer Vorschlag wäre diesen Text als richtigen Text in das HTML Dokument einzubauen und den Text dazwischen in eine Textarea ohne Border zu packen. Während das alles einen Border hat der aussieht wie bei einem Textfeld.
So hat der User den Eindruck das er in einer Textarea arbeitet wo er bestimmte teile nicht ändern kann.

Gruß Lamer

Ok, trotzdem danke!

Hm, mal sehen…
Danke!
ps netter Nick. :wink:

Mal sehen.
Danke erstmal trotzdem!
Keep things easy. hieß mal irgendwo!

Auch nett.
Also meinst Du sowas wie
textfeld, nur oben und und links/rechts ne border
textarea nur ninks und rechts ne border
textfeld, nur unten und rechts/links eine border
Dann margins vom textarea auf 0…

Ich denke das wirds. Aber…
Gabs da nicht Komptibilitätsprobleme bei den verschiedenen Browsern und den css-Eigenschaftenn von Formularelementen?
Egal. Das probiere ich mal!

Muß ja nicht mal ein Textfeld sein sondern richtiger normaler Text

 Sehr geehrte Damen und Herren,

 hiermit laden wir sie

 Mit freundlichen Grüßen 

Gruß Lamer

Danke für Deine schnelle Antwort.
Hm, ganz so einfach ists nicht, da ich den gesamten Text nachher noch für eine pdf-Erzeugung brauche…
Mal sehen oder ich packs erst in eine Variable, zeige dir nur zu Kontrolzwecken und zur Optik an und übertrage die Variable…

Aber ich glaube echt, dass css die bessere Lösung ist.

Gute N8
Oliver

Hallo,

nein, kann man nicht. Aber warum nicht die unveränderlichen Testpassagen einfach über/unter das Textfeld schreiben und dann, wenn der Inhalt des Textfeldes verarbeitet wird, diese einfach anfügen?

Gruß, Alex

Ich muss mal sehen wie ich es löse. Es scheint zu gehen.
Aber schwierig.

Danke für deine Mühe / Antwort!

Hi Oliver,

was du möchtest, geht so nicht. Also String aufteilen und geschützte und ungeschützte Teile in jeweils eigenen Feldern anzeigen - oder so.

Gruß
Detlef

Ich vermute wegen des Stichworts, dass du von html-Formularen und Javascript sprichst?
In diesem Fall ist mir keine Methode bekannt, allerdings auch keine echte Anwendung: Was spricht dagegen, den gesperrten Teil als HTML zu schreiben und nur den editierbaren Teil als Formularfeld auszuführen?

Für mehr Hilfe und Ideen müsstest du dein Problem schon etwas ausführlicher beschreiben!

Viele Grüße,
Michael Janßen

www.RegenbogenQuadrat.de
www.LilaLupe.de
www.Hunderunde-mit-Spass.de

danke für Deine Mühe / Antwort.
Jep. JS und html.
Ich brauchs halt für ein pdf-Generierung (php).
Und da soll ein Teil des Strings fest drin stehen.
ZB Sehr geehrte Damen und Herren.
Wenn ichs in ein Textfeld darüber packe übersiehts der Anwender garantiert und im Dokument habe ich dann
Sehr geehrte Damen und Herren Sehr geehrte Damen und Herren
stehen. Offen möcht ichs auch nich lassen, weil dann die Gefahr ist, ass etwas überschrieben wird.
Sehr geehrte Damen und Herre. / ehr geehrte Damen und Herren,…
Allerdings habe ich nun schon den Ansatz bekommen, es mit php und css zu lösen.