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.
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();
});
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!
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.
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.
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.
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.
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!
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.
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?
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!
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.