Ich habe einen einfachen Textbereich in einer Form wie dieser:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
Ich bekomme immer mehr Leerraum in diesem Textbereich . Wenn ich darauf gehe, befindet sich mein Cursor wie in der Mitte des Textbereichs und nicht am Anfang? Was ist die Erklärung?
value
Attribut auch, anstatt Text in die Tags einzufügen.Nun, alles zwischen
<textarea>
und</textarea>
wird als Standardwert für Ihr Textfeld verwendet. In Ihrem Beispiel gibt es einige Leerzeichen. Versuchen Sie, all das zu beseitigen.quelle
Öffnen (und schließen!) Sie Ihre PHP-Tags direkt nach und vor Ihren
textarea
Tags:quelle
Kurz gesagt:
<textarea>
sollte sofort in derselben Zeile geschlossen werden, in der es begonnen hat.Allgemeine Vorgehensweise: Hiermit werden Zeilenumbrüche und Leerzeichen addiert, die zum Einrücken im Code verwendet werden.
Richtige Praxis
quelle
Grundsätzlich sollte es sein
Wenn es einige vordefinierte Leerzeichen gibt, sagen wir aufgrund der Code-Formatierung wie unten
Die durch Punkte angezeigten Leerzeichen werden bei jeder Übermittlung immer wieder hinzugefügt.
quelle
Alle Leerzeichen zwischen dem Öffnen und Schließen von Textbereich-Tags werden als Leerzeichen betrachtet. Für Ihren obigen Code lautet der richtige Weg also:
quelle
Eine andere Möglichkeit wäre die Verwendung von Javascript:
Das habe ich getan. Durch das Entfernen von Leerzeichen und Zeilenumbrüchen im Code wird die Zeile zu lang.
quelle
Verwenden Sie den ternären Operator, um ein bisschen sauberer auszusehen:
quelle
Umzug ...> nach unten funktioniert bei mir.
quelle
Ich habe das gleiche Problem und die Lösung ist sehr einfach: Starten Sie keine neue Zeile! Obwohl einige der vorherigen Antworten das Problem lösen können, wird die Idee nicht klar formuliert. Das wichtige Verständnis ist, dass Sie, um die unbeabsichtigten Leerzeichen loszuwerden, niemals eine neue Zeile direkt nach Ihrem Start-Tag beginnen.
Der folgende Weg ist FALSCH und hinterlässt viele unerwünschte Leerzeichen vor Ihrem Textinhalt:
Der richtige Weg, dies zu tun, ist:
quelle
Bitte stellen Sie sicher, dass es keinen Zeilenumbruch oder Leerzeichen gibt. Stellen Sie sicher, dass es keine Leerzeichen oder Tabulatoren gibt. Kopieren Sie einfach diesen Code und fügen Sie ihn ein :) Ich hatte ihn für Sie repariert
quelle
Außerdem: Das Textarea-Tag zeigt Leerzeichen für neue Zeilen, Tabulatoren usw. im mehrzeiligen Code an.
quelle
Behalten Sie den Textbereichscode ohne zusätzliche Leerzeichen bei
Wenn Sie zusätzliche Leerzeilen sehen, gibt es außerdem eine Lösung in der Metasprache:
Es werden natürlich Zeilen ohne zusätzliche Leerzeilen gedruckt. Es hängt davon ab, ob Ihre Zeilen mit '\ n', '\ r \ n' oder '' enden - bitte anpassen
quelle
Der Textbereich zeigt mysteriöse Leerzeichen, da in den Tags ein realer Leerzeichen vorhanden ist.
<textarea> <php? echo $var; ?> </textarea>
Nach dem Entfernen dieser zusätzlichen Leerzeichen zwischen den Tags wird das Problem wie folgt behoben.<textarea><php? echo $var; ?></textarea>
quelle
Eine Lösung, die für mich funktioniert hat, ist das Hinzufügen des Stils
white-space: normal;
zum Textbereich, da es manchmal nicht möglich ist, alle Leerzeichen zu entfernen (z. B. wenn Sie möchten, dass Ihr Code Ihren Codierungsrichtlinien entspricht, die das Hinzufügen von Tabulatoren, Leerzeichen und Zeilenumbrüchen erfordern).Bitte beachten Sie, dass die Standardeinstellung für Textbereich, zumindest in Chrom, lautet:
white-space: pre-wrap;
quelle
Wenn Sie immer noch Einrückungen verwenden möchten, tun Sie dies nach dem Öffnen des
<?php
Tags wie folgt:quelle
Ich weiß, dass es spät ist, kann aber anderen helfen.
Verwenden Sie diese Option, wenn ein Einzug des Dokuments erforderlich ist.
selbe Frage
quelle
Ich bin gegen HTML-Code gemischt mit PHP-Code.
Versuchen Sie jedoch Folgendes:
quelle
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php
und?></textarea>
sicherstellen, dass es wirklich rein ist. Darf ich auch fragen, warum Sie mit PHP gegen HTML sind?Definieren Sie einfach Ihr und Ihr Close-Tag in derselben Zeile.
quelle
Wenn Sie sagen, dass sich der Cursor in der "Mitte" des Textbereichs befindet, denke ich, dass Sie entweder zusätzliche Auffüllung oder Textausrichtung haben könnten : Mitte irgendwo in Ihrem CSS definiert.
quelle
Stellen Sie zunächst sicher, dass Ihr $ siteLink_val keinen Leerraum als Wert zurückgibt. Das <textarea> -Element hat standardmäßig einen leeren Wert. Wenn also die Variable, die Sie aus irgendeinem Grund wiedergeben, Leerzeichen enthält, liegt Ihr Problem sofort vor.
Um den Code absolut sauber zu machen, würde ich vorschlagen, dass Sie so etwas tun, um später mehr Flexibilität zu ermöglichen. Ich habe eine Funktion erstellt, die entweder NULL zurückgibt, wenn die Variable nicht vorhanden ist (was Sie im ursprünglichen Beitrag anzustreben scheinen), oder ansonsten den absoluten Wert. Versuchen Sie Folgendes, nachdem Sie den Inhalt Ihrer Variablen sichergestellt haben:
Und der folgende Code in Ihrem Textbereich würde jetzt lauten:
Dies setzt voraus, dass Ihre PHP-Installation für kurze variable Aufrufe konfiguriert ist, wie in den verkürzten "<? =?>" - Tags zu sehen ist. Wenn Sie auf diese Weise nicht ausgeben können, denken Sie daran, Ihrem PHP-Code "<? Php" voranzustellen und mit "?>" Zu schließen.
Vermeiden Sie Zeilenumbrüche zwischen <textarea>, da dies zu fehlerhaften Zeichen führen kann.
Überprüfen Sie außerdem Ihr CSS, um sicherzustellen, dass keine Auffüllregel Text nach innen drückt.
Außerdem geben Sie im Textbereich einen Wert für Spalten und Zeilen an und formatieren dann eine Breite und Höhe. Diese Regeln sind kontraproduktiv und führen zu inkonsistenten Darstellungen. Halten Sie sich entweder an die Definition der Größe durch Stil (ich empfehle, dem Element eine Klasse zu geben) oder an die Zeilen / Spalten.
quelle