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

blz übergeben

Tectum

New member
Hy Leute, hab da im inet was gefunden um den banknamen durch eine blz zu ermitteln, als Grundlage dient eine blz.txt der Bundesbank.
PHP:
function getBankInfo($BLZ = ""){
	$FLAG = true;
	$ZEIGER=fopen("./blz.txt","r");
	while($ZEILE=fgets($ZEIGER,1024) AND $FLAG)
	{
		$BLZ_RET = substr ($ZEILE, 0, 8);
		if ($BLZ_RET == $BLZ)
		{
		   $BANK	= substr ($ZEILE, 9, 58);
		   $ORT		= substr ($ZEILE, 72, 35);
		   $FLAG	= false;
		}
	}
	fclose($ZEIGER);
	if (isset($BANK)) {return trim($BANK);}else {return false;}
}
echo getBankInfo("10000000");
da ich ein Eingabeformular habe, würde ich gern, wenn ich die blz ins input eingetragen habe, dass der Bankname automatisch im banknamen input erscheint, über POST habe ich das jetzt geregelt, aber da noch mehr im Formular ist, will ich ungern durch ein onchange das formular mittendrin neu laden. Gibts da ne andere Möglichkeit?
 
Mach doch den Bankrequest einfach per Ajax. Dann gehts zwar mit onchange aber ohne Reload des Formulars.
 
Du kannst auch den Request in ein iFrame schießen. Ist aber auch nicht trivial und sieht u.U. nicht so sexy aus.
 
ok, kann nur kein js, aber wenn man nur ein codeschnippsel für den request braucht ist ja ok, nur in dem tut muss man eine neue seite im hintergrund laden, das ist aber nicht das was ich brauche :(
 
kann mir da jemand n kleines ajax ding basteln, son allgemeines, brauch das auch für plz usw. zahl auch was dafür
 
zahl auch was dafür
Schmeißt nicht immer so mit Eurer Kohle rum! Schick mir einen Kasten Erdinger Weizen!

Code:
<script type="text/javascript">
function getXmlObject() {
	var http_request;
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
	}
	else
		if (window.ActiveXObject) {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}
	return http_request;
}
	function holebank(blz) {
		var http_request_dat = getXmlObject();
		http_request_dat.onreadystatechange = function() {
			try {
				if (http_request_dat.readyState == 4) {
					if (http_request_dat.status == 200) {
						document.getElementById('feld_id_bankname').innerHTML = http_request_dat.responseText;
					}
				}
			}
			catch(e) {
				//nichts
			}
		};
		http_request_dat.open("POST","mein_php.php",true);
		http_request_dat.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
		http_request_dat.send('parametername=' + blz);
	}
</script>

Charset und Parameterübergabe bitte Deinen Gegebenheiten anpassen.
 
Zuletzt bearbeitet:
schick ich dir gerne :) kannste mir kurz hilfestellung geben? was kommt in meinem beispiel in mein-php.php? wie lös ich das skript aus? Wie übergebe ich das value des inputs? wie kommt das ergebnis in das bankname input?
 
was kommt in meinem beispiel in mein-php.php?
Da kommt der Name deines PHP script rein, welches den Banknamen zu einer BLZ zurückliefert.

wie lös ich das skript aus?
Mit einem onchange im Dropdown.

Wie übergebe ich das value des inputs?
Mit onchange='holebank(this.value)'

wie kommt das ergebnis in das bankname input?
Das erledigt die zeile document.getElementById('feld_id_bankname').innerHTML = http_request_dat.responseText;
in meinem Beispiel
 
und wenn es mit einem suchensymbol neben dem input ausgelöst werden soll?
onclick='holebank(document.DEFT.blz.value)' so?
 
Hör mal, jetzt biste aber was faul, oder?

Schau Dir doch mein Beispiel an. Was wird denn http_request_dat.open("POST","mein_php.php",true); evtl. bedeuten??
Ich mache es immer via POST wg. dem Browsercaching. Das dürfte bei Dir nichts ausmachen, weil ja der Bankname zur BLZ eh immer gleich ist, kannst also auch GET draus machen bei Bedarf.
 
Zurück
Oben