PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Feldwert nach ' abgeschnitten...



Jor
06-08-2009, 18:39
Hallo zusammen,
da ich leider nicht weiter komme, trotz intensiver Suche, hoffe ich, ihr könnt mir helfen:
In einem Feld steht ein Wert der ein Hochkomma beinhaltet (z. B. "Adamo D'Agostino", wenn ich dieses jetzt per Javascript auslese, wird bis zum Hochkomma gelesen, der Rest fehlt. Wie kann ich den kompletten Feldwert auslesen und übernehmen?

Danke schon einmal im Voraus!

Jor
08-08-2009, 16:32
In der Zwischenzeit hat sich die Anfrage erledigt. Auch nach weiterem Suchen und Testen habe ich keine brauchbare Lösung gefunden, um den
Feldwert sofort und ungekürzt zu übernehmen, worauf ich die Funktionalität etwas abgeändert habe und den Wert nun über ein weiters Array extrahiere, sind zwar ein/zwei zusätzliche Rechenoperationen...
aber was soll's, es funzt nun wie gewünscht. :)

BlueJay
15-08-2009, 09:06
Was ist denn das für ein seltsamer Browser?
Firefox 3.x und IE7/8 haben damit keine Probleme. Zudem fängt der String ja nicht mit Hochkomma an, sondern mit Gänsefüßchen (wirklich?)

Also, der hier haut hin


<!Doctype HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<script type="text/javascript">
function zeichma(){ alert(document.form1.inp.value); return false; }
</script>
</head>
<body>
<form action="index.htm" method="get" name="form1" onsubmit="return (zeichma())"><br>
<input type="text" name="inp" size=32 value="D'Artagnan">
<input type="submit">
</form>
</body>
</html>



so long,
BlueJay

Jor
21-08-2009, 07:17
Hallo BlueJay,

danke für deine Antwort. :) Kann das Verhalten vom Zeichensatz kommen?
Ich habe folgenden Eintrag:
<meta http-equiv="Content-Type" content="text/html; charset=utf_8">
Dabei ist mir jetzt aufgefallen, dass die Stringwerte nach einem Hochkomma und dem Post dennoch abgeschnitten werden. Also war mein Lösungsansatz nett und für den einen Fall ausreichend, es bedarf aber der generellen Klärung...
In einer Variable wird der Wert (z. B. D'Artagnan ) hinterlegt und beim Erzeugen des Feldes als Value übergeben. Im Feld steht bei der Anzeige lediglich der erste Teil (also der vor dem Hochkomma).
Ich nutze als Browser den IE 7.
Deine Lösung werde ich übernehmen, wenn die generelle Frage geklärt ist,
kannst du mir da auch ein Tipp geben?

Danke im Vorhinein, jor

Jor
22-08-2009, 14:33
Nach dem ich weiter hin und her probiert und versucht habe, bin ich anscheinend dahinter gekommen, warum das Verhalten des Abschneidens
so ist. Die Felder in denen der Eingabewert abgeschnitten wird, und das auch nicht wirklich mit stripslashes und Co verbessert werden konnte, sind in eine Ressourcendatei ausgelagert.
Zur Probe habe ich mal ein Testfeld direkt auf meiner Seite erstellt, und siehe da, damit funktioniert es wie gewünscht, stripslahes funzt...
Aber was nun? Hat jemand von euch einen Tipp wie ich dennoch die Auslagerung des Codes beibehalten kann? Die Auslagerungsdatei ist eine reine PHP-Seite in der noch weitere Funktionen etc. liegen.

BlueJay
23-08-2009, 19:31
Zumindest solltest du sicherstellen, dass der Editor, mit dem du die Ressourcedatei pflegst, auch utf-8 schreibt.

so long,
BlueJay

Jor
23-08-2009, 21:03
Hm, ich benutze Eclipse als Editor. Beide Dateien, die eigentliche Page und die Ressourcendatei sind mit dem selben Editor in der selben Umgebung geschrieben worden. Ich finde es auch eigenartig, da ich bis dato davon ausgegangen bin, und auch bisher keine anderswertige Erfahrung gemacht habe, dass das Auslagern von Codefragmenten eigentlcih ohne Probs funtzen
sollte. Aber in diesem Fall scheint es doch anders zu sein:confused:
Naja, dann werde ich Wohl oder Übel die ganze Page umstricken müssen...

BlueJay
26-08-2009, 13:24
Womit die Programme geschrieben sind, ist wurscht. Wichtig ist, dass "Datenbank" und "Auslieferungsseite" dieselbe Codepage haben. Deine Seite liefert utf-8, und wenn die Datenbank cp-1252 liefert(Windows Liebling), strickst du besser die Ausgabeseite um.

Jor
27-08-2009, 11:15
Die Datenbank nutz ebenfalls utf-8, damit habe ich mich anfangs rumgeschlagen, wegen Umlaute usw.
Ich finde das Verhalten komisch, dass der 'Fehler' bzw. das Verhalten bei Feldern auftritt, die in einer Ressourcen-Datei liegen. Wird das Feld direkt in der Seite ohne inkludierten Code erstellt, dann wird der Feldwert nicht abgeschnitten und ich kann dabei mit 'stripslashes(...)' arbeiten.
Die Werteingaben habe ich per Hand ins Feld eingetragen, also ohne DB-Zugriff, dabei wurde dann der komplette ungekürzte Feldeintrag ins $_Request übergeben und von dort wieder an den Felde value zurück (<input type="text" ... value='".$_Request[feld]."'> [so vom Prinzip her].
Der Pagecontent ist ebenfalls "en" und utf-8.