Das ist schwer für mich als JS Neuling auf die Spur zu kommen.JavaScript funktioniert nicht in FF und IE
Ich schreibe ein einfaches (?) Skript, das mir unter einer Textarea (die zum Schreiben von SMS-Nachrichten gedacht ist) zeigt, wie viele Zeichen die aktuelle SMS hat und wie viele SMS ich bisher geschrieben habe.
Ich habe folgendes JavaScript in meinem Header:
<script type='text/javascript'>
function CheckCount(text, length) {
var MaxLength = new Number(length);
messages = Math.ceil(((text.value) ? text.value.length : 0)/160);
remaining = messages * 160 - (((text.value) ? text.value.length : 0) % (messages * 160) || messages * 160);
if (text.value.length == 0) { messages = 1; remaining = 160; }
document.getElementById('messages').innerText = messages + ' SMS';
document.getElementById('remaining').innerText = remaining + ' Characters remaining';
}
</script>
Im Körper der Website ich dies gesagt:
<textarea name="sms_text" cols="35" rows="5" onKeyUp="javascript:CheckCount(this,4000);" onChange="javascript:CheckCount(this,4000);"></textarea>
<p style="margin-left:174px">
<span id="remaining">160 Characters remaining</span> |
<span style="clear:both" id="messages">1 SMS</span>
</p>
Dies funktioniert in Opera, Safari und Chrome. Firefox und IE haben ihre Probleme.
Bitte schlagt mich nicht zu viel. Ich beginne gerade mit JavaScript und nach einem Tag langwieriger Suche kann ich nicht zur Lösung kommen. :)
dies wahr ist, ein mit [label] (https://developer.mozilla.org/en/JavaScript/Reference/Statements/label) ohne eine Schleife ist völlig sinnlos ..., aber es wird nichts brechen. – Quentin
@Quentin - ganz richtig, ja. Ich dachte, ich sollte nach dem Posten überprüfen. – shanethehat
In der Tat behebt dies das FF-Problem (warum kann FF InnerText nicht behandeln?). Jetzt ist nur noch IE übrig. Dahin kommen. :) Ich werde das JavaScript-Etikett entfernen. Guter Tipp. Vielen Dank. – BigBonsai