Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hochkommas in Eingabefelder

Empfohlene Antworten

Veröffentlicht

Hallo

Ich möchte in einem Inputfeld des typs text zahlen anzeigen. soweit ist das natürlich kein problem. nun möchte ich aber, dass die tausenderstellen mit hochkommas getrennt werden (nicht: 1000000 sonder: 1'000'000) und das bereits bei der eingabe der zahlen. gibt es ein solches vordefiniertes tag in html oder wie kann ich diese eigenschaft für ein solches textfeld am einfachsten erreichen?

gruss, remo

per Javaschript.

Bei einem bestimmten Event (Tastendruck) ruft du eine JS-Funktion auf die deine Eingabe prüft...und zwar von hinten nach vorn. Nach jedem 3. Zeichen (vorrausgesetzt es ist ein 4. vorhanden) setzt sie ein Hochkomma (wieder vorrausgesetzt das 4. Zeichen ist nicht bereits ein hochkomma)

Hat jemand gleich so ein javascript bereit? ich mag nicht das rad nochmals erfinden! würde auch ganz viele, viele merci geben ;)

Hat jemand gleich so ein javascript bereit? ich mag nicht das rad nochmals erfinden! würde auch ganz viele, viele merci geben ;)

Faul ? ooo, ich auch grad, obwohl das Skript auf dem Skripte_für _faule_Tage_Ordner liegt ...

nene Du, mach was und wir helfen gern bei Problemen...

hier meine lösung:


function hochkomma(field){

	str = field.value;

	str = entferneHochkommas(str);

	outStr = str;

	punkt=false;

	if(isNaN(str)==false){

		if(str.length>2){

			for(var i=str.length; i>=2 ; i--){

				if(str.charAt(i-4)=='.'){

					str=str.slice(0,i-1);

				}

			}

		}

		if(str.length>0){

			if(str.charAt(str.length-1)=='.'){

				punkt=true;

				alert("Bitte nur ganze Franken eingeben!")

			}

			if(str.charAt(str.length-2)=='.'){

				punkt=true;

				alert("Bitte nur ganze Franken eingeben!")

			}

			if(str.charAt(str.length-3)=='.'){

				punkt=true;

				alert("Bitte nur ganze Franken eingeben!")

			}

			if(punkt==false){

				outStr=setzteHochkommas(str,0);

			}

		}

	}else{

		alert("Bitte keine Buchstaben oder Sonderzeichen eingeben!")

	}

	field.value = outStr;

}


function setzteHochkommas(str,offset){

	retStr=str;

	split="";

	doit=true;

	while(str.length>3){

		if((offset==1&&str.length>4)||(offset==2&&str.length>5)||(offset==3&&str.length>6)){

			split="'"+str.slice(str.length-3-offset,str.length)+split;

			str=str.slice(0,str.length-3-offset);

			offset=0;

			doit=false;

		}

		if(offset==0&&doit){

			split="'"+str.slice(str.length-3,str.length)+split;

			str=str.slice(0,str.length-3);

			doit=true;

		}

		else break;

		}

	retStr=str+split;

	return retStr;

}



function entferneHochkommas(str){

	retStr=str;

	for(var i=0;i<str.length;i++){

		if(str.charAt(i)=="'"){

			split1=str.slice(0,i);

			split2=str.slice(i+1,str.length);

			retStr=split1+split2;

			retStr=entferneHochkommas(retStr)

		}

	}

	return retStr;

}

ps: das dürfen auch die faulen brauchen ;)

@remopeter: wie lange (vorausgesetzt es wurd selbstentwicklet) hastn du dafür gebraucht?

@den der das Problem hatte, wenn du dann ein formular absendest, musst da ja wieder umwandeln-wenigstens an einer ecke, also entweder hast du riesige zahlen, wo man das echt brauch oder du machst nur alles komplizierter als es ist *kritik* darf man fragen wofür?

@remopeter: wie lange (vorausgesetzt es wurd selbstentwicklet) hastn du dafür gebraucht?

habs also wirklich selbst gemacht! weiss nicht mehr wie lange ich dafür gebraucht habe.

@den der das Problem hatte, wenn du dann ein formular absendest, musst da ja wieder umwandeln-wenigstens an einer ecke, also entweder hast du riesige zahlen, wo man das echt brauch oder du machst nur alles komplizierter als es ist *kritik* darf man fragen wofür?

das formular kann mit den hochkommas abgesendet werden. serverseitig werden dann die hochkommas wieder entfernt. oder man lässt einfach die funktion entferneHochkommas(str) über jedes EingabeFeld im hintergrund laufen.

gebrauch wird das ganze für eine budget-tabelle. so bis 100000000 Fr. ! wieviel? 100'000'000 Fr. das ganze ist so einfach besser lesbar.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.