• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

anzahl der zeichen in formular anzeige (ala sms-verschicken)

riddler

New member
Hi folks

Wüßte gerne wie man die angegebenen zeichen in einem formularfeld (bevor es abgeschickt wird) auslesen und anzeigen kann?
so wie es bei den sms-anbietern ist, dass unter dem eigentlichen formularfeld ein weiteres ist, das (zB) bei 120 anfängt und dann bei jedem weiteren eingegeben Zeichen herunter zählt und sobald es 0 erreicht hat, das formularfeld "sperrt" also nicht noch mehr eingegeben werden kann.
Habe jetzt einfach mal vermutet, das das mit JS funktioniert, falls man dafür was anderes braucht verschiebt mich einfach,ok?

mfg,
riddler
 
smsen

versuch dies


<body onLoad="document.sms.wort.focus();">
<script Language="JavaScript">
<!--
function zaehler(inputStr)
{
chars = inputStr.length
document.sms.num.value=chars
}

function zaehler2(form)
{
inputStr = form.wort.value
chars = inputStr.length
form.num.value=chars
if (form.num.value >120) {
alert ("ups ;-( mehr als 120 Zeichen");
}
}
//-->
</SCRIPT>
<form name="sms">
SMS:<br>
<textarea name="wort" onChange="zaehler2(this.form); " onFocus="zaehler(this.value)" onBlur="zaehler2(this.form)" maxlength="121"></textarea>
<br>Bisher verwendet
<input NAME="num" VALUE="0" SIZE="3" onChange="zaehler2(this.form)">
Zeichen, max. 120 Zeichen
</form>
 
schon nett, aber noch nicht ganz

hi!
schonmal danke für die hilfe,
allerdings stören mich da noch 2 sachen:

1. die anzeige, wieviele zeichen noch übrig sind, ändert sich nicht
bei jedem eingegebenen zeichen, sondern erst wenn ich in das feld klicke oder
irgendein anderes programm aufrufe und dann wieder zum browser zurückkehre.

2. kann man mehr als (zB) 120 zeichen eingeben und erst wenn man dann (s.o.)
in das zählerfeld klickt kommt die message, dass zuviele zeichen eingegeben worden sind.

weiß da irgendwer rat? *BBBIIITTTTTTEEE*
(hab doch von JS keine ahnung :( )
mfg, riddler
 
<script Language="JavaScript">
<!--
function zaehler (){
anzahl= document.sms.wort.value;
if(anzahl.length<=120) { alert("Sie haben : "+anzahl.length+" eingegeben! und das ist zuläsig\n Die daten werden geschickt....."); document.sms.submit(); }
else {alert("Sie haben : "+anzahl.length+" eingegeben! und das ist nicht zuläsig");
document.sms.wort.value=anzahl.substring(0,120); alert("Ich habe ihres Text auf erlaubtes anzalh der Zeichen geschniten!\n\nBitte überprüfen sie das test noch ein mal");}

}

//-->
</SCRIPT>


<form name="sms" action="test.cgi">
SMS:<br>
<textarea name="wort"></textarea>
<input type="button" NAME="num" onClick="zaehler();">

</form>
 
irgendwie werd ich mißverstanden

vielen dank für die mühe,
aber das ist numal gar nicht, das was ich wollte... :(
verhindert zwar, das man mehr als 120 zeichen schickt,
aber es soll doch angezeigt werden, wieviele zeichen man noch übrig hat
und wenn man keine mehr übrig hat, soll man keine weiteren eingeben können.

hoffentlich sind aller guten dinge drei...
trotzdem vielen dank, an alle die sich bis jetzt bemüht haben,
mfg riddler
 
BUG

hi michael!

hab nen doofen bug entdeckt in dem script.
wenn man einen text kopiert der länger ist als die
angegebene zeichenmenge und diesen dann in das formular
kopiert, kommt der alert (logisch) wenn ich jetzt aber was
aus den formular löschen will, damit der text kürzer wird,
kommt auch der alert(nicht mehr logisch), d.h. ich kann nichts
mehr an dem formular ändern und muß die seite neu laden.

:(
kann man das nicht wegbekommen?
oder einfach die textarea begrenzen (in dem script (textarea-tag)
steht zwar maxlength (oder so) = 120, aber nützen tuts anscheinend nix)

mfg, riddler
 
mir fällt grad auf,

daß der bug noch viel schlimmer ist:

auch wenn man manuell die maximale zeichenanzahl angibt,
kann man nichts mehr löschen...

<script language="JavaScript">
<!--
function Eingabe1(InputStr) {
StrLen = InputStr.value.length
if (StrLen == 1 && InputStr.value.substring(0,1) == " ") {
InputStr.value = ""
StrLen = 0
} else {
CharsLeft = 500 - StrLen
}
document.Eingabe.counter.value = CharsLeft
if (CharsLeft <= 0) {alert ('Sie haben alle 500 Zeichen eingegeben.')}
}

function OnKeyDownInTextArea( item, maxlen ) {
if (item.value.length > maxlen - 1) {
event.returnValue = false;
}
}
//-->
</script>

buhu, so tue doch wer was...
 
erwähnte ich schon,

daß ma alles selbst machen muß :D ?

<script language="JavaScript">
<!--
function CountMax()
{
var wert,max;
max = 500;
wert = max-document.eingabe.text.value.length;
if (wert < 0) {
alert("Es dürfen nicht mehr als " + max + " Zeichen eingegeben werden!");
document.eingabe.text.value = document.eingabe.text.value.substring(0,max);
wert = max-document.eingabe.text.value.length;
document.eingabe.rv_counter.value = wert;

} else {
document.eingabe.rv_counter.value = max - document.eingabe.text.value.length;
}
}
//-->
</script>


<form name="eingabe" method="post" action="page.asp>">
<textarea name="text" rows="10" cols="30" maxlength="500" OnFocus="CountMax();" OnClick="CountMax();" ONCHANGE="CountMax();" onKeydown="CountMax();" onKeyup="CountMax();" wrap="virtual"></textarea>
<br>
Es stehen noch <input name="rv_counter" type="TEXT" size="4" maxlength="3" value="500" readonly> Zeichen zur Verfügung.
<br>
<input type="submit" value="speichern">
</form>


mfg, riddler
 
sehr gut. 10 punkte für dich. hab gleich das script bei der jswelt upgedated.

bye,
mo
 
yupie

10 Punkte *freu* WOW!
aber warum heiß ich plötzlich "erwähnte" und bin ein "guest" (s.o.)
wo ich mich sowas schon frage:
ich kann auch nix mehr suchen
(kommt immer ich soll mich einloggen,
ich logg mich ein,
ich werd zur seite bitte einloggen weitergeleitet....)

mfg, riddler
 
da gabs vermutlich ein session-problem. da kamen deine daten durcheinander. jetzt scheint´s wieder zu passen.

bye,
mo
 
Zurück
Oben