PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleine Hilfe zu meinem Javascript


WarSlash
2005-04-29, 20:22:33
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>String-Formatierung</title>

<script type="text/javascript" language="javascript">

<!--

function string() {

var symbol,eingabe, ausgabe, ausgabe2;

symbol = document.StringFormatierung.SymbolString.value;
eingabe = document.StringFormatierung.EingabeString.value;
ausgabe = "";
ausgabe2 = "";

for (i = 0; i <= eingabe.length; i++) { // Vorwärts einlesen

ausgabe = ausgabe + eingabe.charAt(i) + symbol;
}

for (i = eingabe.length; i >=0; i--) { // Rückwärts einlesen


ausgabe2 = ausgabe2 + eingabe.charAt(i).toLowerCase() + symbol;

}

if ( ausgabe.toUpperCase() == ausgabe2.toUpperCase()) { //Testen ob es sich um ein Palindrom handelt

window.alert("Palindrom")
}

document.StringFormatierung.AusgabeString.value = ausgabe;
document.StringFormatierung.AusgabeString2.value = ausgabe2;

}
//-->

</script>

</head>

<body>

<form name="StringFormatierung">
<h1 align="center">String-Formatierung 1.1</h1>
<p align="center">Wort<input type="text" name="EingabeString"></p>
<p align="center">Symbol<input type="text" name="SymbolString"></p>
<p align="center"><input type="button" value="Format" onclick="string()"></p>
<p align="center">Normal<input type="text" name="AusgabeString"></p>
<p align="center">R&uuml;ckw&auml;rts<input type="text" name="AusgabeString2"></p>
</form>

</body>

</html>



Der Code funktioniert richtig, das ist nicht mein Problem. Nur beim Rückwärtssetzen wird der letzte Buchstabe großgeschrieben, was ja auch normal ist, weil er ja nur die Buchstaben von "Normal" spiegelt. Ich möchte jedoch das der erste Buchstabe im Feld "Rückwärts" größgeschrieben wird und der rest klein!

Aqualon
2005-05-01, 15:36:05
[schnipp]

for (i = eingabe.length; i >0; i--) { // Rückwärts einlesen
ausgabe2 = ausgabe2 + eingabe.charAt(i).toLowerCase() + symbol;
}
ausgabe2 = ausgabe2 + eingabe.charAt(i).toUpperCase() + symbol;

[schnipp]

Aqua

WarSlash
2005-05-01, 22:08:43
Es ist zwar richtig, aber es ist immer der letzte Buchstabe, also das Zeichen "0".

Und da ja bei der Ruckwärtsausgabe die Zeichen gespielt werden also, vorher 012345, und dann 543210.

Die 5 müsste aber groß sein. Aber es soll sich nicht auf den Bereich von 6 Zeichen beschränken, sondern soll mit jeder Zeichenlänge gehen!

Aqualon
2005-05-01, 23:40:12
Ah, falsch verstanden. So sollte es aber gehen:

ausgabe2 += eingabe.charAt(eingabe.length-1).toUpperCase() + symbol;
for (i = (eingabe.length-2); i>=0; i--) { // Rückwärts einlesen
ausgabe2 += eingabe.charAt(i).toLowerCase() + symbol;
}

Deine for-Schleife zum Vorwärtseinlesen läuft übrigens eine Stelle zu weit. Die muss bereits bei i < eingabe.length terminieren.

Aqua

WarSlash
2005-05-02, 14:35:28
Danke jetzt klappts auch!