Functie aanroepen met onchange

Status
Niet open voor verdere reacties.

JeroenE

Terugkerende gebruiker
Lid geworden
20 mrt 2005
Berichten
1.950
Hallo,

Het lukt mij niet om een functie aan te roepen vanuit een onchange van een input type text. Een alert lukt wel, maar de functie totaal niet.
Werkt wel:
Code:
<input type="text" size="35" tabindex="6" maxlength="50" value="" name="location" onchange="alert(this.value);" />
Code:
<input type="text" size="35" tabindex="6" maxlength="50" value="" name="location" onchange="javascript:alert(this.value);" />
Werkt niet:
Code:
<input type="text" size="35" tabindex="6" maxlength="50" value="" name="location" onchange="getzipcode(this.value);" />
Code:
<input type="text" size="35" tabindex="6" maxlength="50" value="" name="location" onchange="javascript:getzipcode(this.value);" />
Functie:
Code:
function getzipcode(sloc) {
	var nregionid;
	for (var nzc = 0; nzc <= azipcodes.length; nzc++) {
		if (sloc == azipcodes[nzc]["location"]) {
			document.addcontactform.zipcode.value = azipcodes[nzc]["zipcode"];
			document.addcontactform.location_id.value = azipcodes[nzc]["id"];
			nregionid = azipcodes[nzc]["regionid"];
		};
	};
	getregion(nregionid);
};

Wat loopt er mis?
 
Heb je deze code ook ergens online staan?
Vermoedelijk gaat het binnen de functie mis :)

Om te kunnen checken zou de volledige pagina handig zijn om even te spieken ;)
 
Hier is de link
login en paswoord zijn allebei "helpmij"

Het zou mij verwonderen, want als ik binnen de functie als eerste regel een "alert" zet, dan doet hij het nog nie :s
 
Laatst bewerkt:
Om te beginnen:
[JS]<script language="javascript" type="text/javascript">
var acountries = Array();
var aregions = Array();
var azipcodes = Array();
...[/JS]
zou ik van maken:
[JS]<script type="text/javascript">
var acountries = new Array();
var aregions = new Array();
var azipcodes = new Array();
...[/JS]
 
Ok, dank je wel :) Heb ik gedaan.
Ik heb ook geprobeerd een eenvoudige functie aan te roepen met alleen een alert in, en het lukt ook niet.
Een functie wordt dus totaal niet aangeroepen.
 
Bij "Toevoegen" krijg ik al een error naar mij geslingerd :D
Code:
Uncaught SyntaxError: Unexpected identifier /contacts/?a=new:56

Dat komt uit je landenlijst en waarschijnlijk omdat je geen quotes om de landnaam gebruikt :)

Probeer dit eens als arrays: http://jsfiddle.net/X6rMP/ (Het bericht was te lang om hier te kunnen plaatsen, ik zat over de 10000 karakters :D)
Daarnaast zou ik qua optimalisatie dit in een extern JS-bestand zetten.

Alleen nu zit je met deze foutmelding:
Code:
Uncaught TypeError: Cannot set property 'id' of undefined
En die komt uit deze regel:
[js]acountries[0]['id'] = 1;[/js]

Je roept hier specifiek de eerste waarde uit de array al aan terwijl die nog niet bestaat, dus kan hij ook niet ingesteld worden.

Is het een idee om in plaats van een JS multi-array, een JS array met objecten te gebruiken?

Als ik vanavond thuis ben zal ik eens kijken of ik een opzetje voor je kan maken.
 
Dat met die quotes heb ik opgelost door ze in de for-loop binnen de php te zetten. Hetzelfde met de zipcodes en locations.
De array's binnen het javascript worden als volgt gemaakt in een included php-pagina:
PHP:
<script language="javascript" type="text/javascript">
var acountries = new Array();
var aregions = new Array();
var azipcodes = new Array();

function getzipcode(sloc) {
	alert(sloc);
	var nregionid;
	for (var nzc = 0; nzc <= azipcodes.length; nzc++) {
		if (sloc.toLowerCase() == azipcodes[nzc]["location"].toLowerCase()) {
			document.addcontactform.zipcode.value = azipcodes[nzc]["zipcode"];
			document.addcontactform.location_id.value = azipcodes[nzc]["id"];
			nregionid = azipcodes[nzc]["regionid"];
		};
	};
	getregion(nregionid);
};

function getregion(id) {
	var ncountryid;
	for (var nrc = 0; nrc <= aregions.length; nrc++) {
		if (id == aregions[nrc]["id"]) {
			document.addcontactform.region.value = aregions[nrc]["region"];
			document.addcontactform.country_id.value = aregions[nrc]["countryid"];
			nregionid = azipcodes[nzc]["regionid"];
		};
	};
	getcountry(ncountryid);
};

function getcountry(id) {
	for (var ncc = 0; ncc <= acountries.length; ncc++) {
		if (id == acountries[ncc]["id"]) {
			document.addcontactform.country.value = acountries[ncc]["country"];
		};
	};
};
<?php
$acountriessql = "SELECT * from countries ORDER BY id";
$acountriesquer = mysql_query($acountriessql, $sdb) or die(mysql_error());

while ($acountrieline = mysql_fetch_object($acountriesquer)) {
	$ncountries = count($acountries);
	$acountries[$ncountries]["id"] = $acountrieline->id;
	$acountries[$ncountries]["country"] = $acountrieline->country;
	$acountries[$ncountries]["code"] = $acountrieline->code;
	?>
	acountries[<?php echo $ncountries; ?>]["id"] = <?php echo $acountrieline->id; ?>;
	acountries[<?php echo $ncountries; ?>]["country"] = "<?php echo $acountrieline->country; ?>";
	acountries[<?php echo $ncountries; ?>]["code"] = <?php echo $acountrieline->code; ?>;
    <?php
};

$aregionssql = "SELECT * from regions ORDER BY id";
$aregionsquer = mysql_query($aregionssql, $sdb) or die(mysql_error());

while ($aregionline = mysql_fetch_object($aregionsquer)) {
	$nregions = count($aregions);
	$aregions[$nregions]["id"] = $aregionline->id;
	$aregions[$nregions]["region"] = $aregionline->region;
	$aregions[$nregions]["country_id"] = $aregionline->country_id;
	?>
	aregions[<?php echo $nregions; ?>]["id"] = <?php echo $aregionline->id; ?>;
	aregions[<?php echo $nregions; ?>]["region"] = "<?php echo $aregionline->region; ?>";
	aregions[<?php echo $nregions; ?>]["countryid"] = <?php echo $aregionline->country_id; ?>;
    <?php
};

$azipcodessql = "SELECT * from zipcodes ORDER BY id";
$azipcodesquer = mysql_query($azipcodessql, $sdb) or die(mysql_error());

while ($azipcodeline = mysql_fetch_object($azipcodesquer)) {
	$nzipcodes = count($azipcodes);
	$azipcodes[$nzipcodes]["id"] = $azipcodeline->id;
	$azipcodes[$nzipcodes]["zipcode"] = $azipcodeline->zipcode;
	$azipcodes[$nzipcodes]["location"] = $azipcodeline->location;
	$azipcodes[$nzipcodes]["region_id"] = $azipcodeline->region_id;
	?>
	azipcodes[<?php echo $nzipcodes; ?>]["id"] = <?php echo $azipcodeline->id; ?>;
	azipcodes[<?php echo $nzipcodes; ?>]["zipcode"] = "<?php echo $azipcodeline->zipcode; ?>";
	azipcodes[<?php echo $nzipcodes; ?>]["location"] = "<?php echo $azipcodeline->location; ?>";
	azipcodes[<?php echo $nzipcodes; ?>]["regionid"] = <?php echo $azipcodeline->region_id; ?>;
    <?php
};
?>
</script>
<?php
$amaritalstatussql = "SELECT * from maritalstatus ORDER BY id";
$amaritalstatusquer = mysql_query($amaritalstatussql, $sdb) or die(mysql_error());

while ($amaritalstatusline = mysql_fetch_object($amaritalstatusquer)) {
	$nmaritalstatus = count($amaritalstatus);
	$amaritalstatus[$nmaritalstatus]["id"] = $amaritalstatusline->id;
	$amaritalstatus[$nmaritalstatus]["status"] = $amaritalstatusline->status;
};

$acontactssql = "SELECT * from contacts ORDER BY id";
$acontactsquer = mysql_query($acontactssql, $sdb) or die(mysql_error());

while ($acontactline = mysql_fetch_object($acontactsquer)) {
	$ncontacts = count($acontacts);
	$acontacts[$ncontacts]["id"] = $acontactline->id;
	$acontacts[$ncontacts]["firstname"] = $acontactline->firstname;
	$acontacts[$ncontacts]["name"] = $acontactline->name;
	$acontacts[$ncontacts]["period"] = $acontactline->period;
	$acontacts[$ncontacts]["street"] = $acontactline->street;
	$acontacts[$ncontacts]["number"] = $acontactline->number;
	$acontacts[$ncontacts]["box"] = $acontactline->box;
	$acontacts[$ncontacts]["location_id"] = $acontactline->location_id;
	for ($ni = 0; $ni <= $nzipcodes; $ni++) {
		if ($acontactline->location_id == $azipcodes[$ni]["id"]) {
			$acontacts[$ncontacts]["zipcode"] = $azipcodes[$ni]["zipcode"];
			$acontacts[$ncontacts]["location"] = $azipcodes[$ni]["location"];
			$acontacts[$ncontacts]["region_id"] = $azipcodes[$ni]["region_id"];
			for ($nj = 0; $nj <= $nregions; $nj++) {
				if ($azipcodes[$ni]["region_id"] == $aregions[$nj]["id"]) {
					$acontacts[$ncontacts]["region"] = $aregions[$nj]["region"];
				};
			};
		};
	};
	$acontacts[$ncontacts]["phone"] = $acontactline->phone;
	$acontacts[$ncontacts]["fax"] = $acontactline->fax;
	$acontacts[$ncontacts]["cellphone"] = $acontactline->cellphone;
	$acontacts[$ncontacts]["email"] = $acontactline->email;
	$acontacts[$ncontacts]["maritalstatus_id"] = $acontactline->maritalstatus_id;
	for ($nms = 0; $nms <= $nmaritalstatus; $nms++) {
		if ($acontactline->maritalstaus_id == $amaritalstatus[$nms]["id"]) {
			$acontacts[$ncontacts]["maritalstatus"] = $amaritalstatus[$nms]["status"];
		};
	};
	$acontacts[$ncontacts]["birthdate"] = $acontactline->birthdate;
	$abirthdate = explode("-", $acontacts[$ncontacts]["birthdate"]);
	$acontacts[$ncontacts]["birthday"] = $abirthdate[2];
	$acontacts[$ncontacts]["birthmonth"] = $abirthdate[1];
	$acontacts[$ncontacts]["birthyear"] = $abirthdate[0];
	$acontacts[$ncontacts]["photo"] = $acontactline->photo;
	$acontacts[$ncontacts]["interests"] = $acontactline->interests;
	$acontacts[$ncontacts]["notes"] = $acontactline->notes;
	$acontacts[$ncontacts]["professional"] = $acontactline->professional;
	$acontacts[$ncontacts]["partner"] = $acontactline->partner;
	$acontacts[$ncontacts]["interestsparnter"] = $acontactline->interestspartner;
	$acontacts[$ncontacts]["kids"] = $acontactline->kids;
	$acontacts[$ncontacts]["reference_id"] = $acontactline->reference_id;
	$acontacts[$ncontacts]["reference_firstname"] = "";
	$acontacts[$ncontacts]["reference_name"] = "";
};

$nrefcontacts = count($acontacts);

for ($nrs = 0; $nrs <= $nrefcontacts; $nrs++) {
	for ($nr = 0; $nr <= $nrefcontacts; $nr++) {
		if ($acontacts[$nrs]["reference_id"] == $acontacts[$nr]["id"]) {
			$acontacts[$nrs]["reference_firstname"] = $acontacts[$nr]["firstname"];
			$acontacts[$nrs]["reference_name"] = $acontacts[$nr]["name"];
		};
	};
};

$aservicessql = "SELECT * from services ORDER BY id";
$aservicesquer = mysql_query($aservicessql, $sdb) or die(mysql_error());

while ($aservicesline = mysql_fetch_object($aservicesquer)) {
	$nservices = count($aservices);
	$aservices[$nservices]["id"] = $aservicesline->id;
	$aservices[$nservices]["cellphone"] = $aservicesline->cellphone;
	$aservices[$nservices]["landline"] = $aservicesline->landline;
	$aservices[$nservices]["internet"] = $aservicesline->internet;
	$aservices[$nservices]["digitv"] = $aservicesline->digitv;
	$aservices[$nservices]["iew"] = $aservicesline->iew;
	$aservices[$nservices]["electricity"] = $aservicesline->electricity;
	$aservices[$nservices]["gas"] = $aservicesline->gas;
};

$aeuservicessql = "SELECT * from euservices ORDER BY id";
$aeuservicesquer = mysql_query($aeuservicessql, $sdb) or die(mysql_error());

while ($aeuservicesline = mysql_fetch_object($aeuservicesquer)) {
	$neuservices = count($aeuservices);
	$aeuservices[$neuservices]["id"] = $aeuservicesline->id;
	$aeuservices[$neuservices]["cellphone"] = $aeuservicesline->cellphone;
	$aeuservices[$neuservices]["landline"] = $aeuservicesline->landline;
	$aeuservices[$neuservices]["internet"] = $aeuservicesline->internet;
	$aeuservices[$neuservices]["digitv"] = $aeuservicesline->digitv;
	$aeuservices[$neuservices]["iew"] = $aeuservicesline->iew;
	$aeuservices[$neuservices]["electricity"] = $aeuservicesline->electricity;
	$aeuservices[$neuservices]["gas"] = $aeuservicesline->gas;
	$aeuservices[$neuservices]["eucare"] = $aeuservicesline->eucare;
	$aeuservices[$neuservices]["card"] = $aeuservicesline->card;
	$aeuservices[$neuservices]["clientnumber"] = $aeuservicesline->clientnumber;
	$aeuservices[$neuservices]["bcnumber"] = $aeuservicesline->bcnumber;
};

$astatussql = "SELECT * from status ORDER BY id";
$astatusquer = mysql_query($astatussql, $sdb) or die(mysql_error());

while ($astatusline = mysql_fetch_object($astatusquer)) {
	$nstatus = count($astatus);
	$astatus[$nstatus]["id"] = $astatusline->id;
	$astatus[$nstatus]["contactdate"] = $astatusline->contactdate;
	$astatus[$nstatus]["appointment"] = $astatusline->appointment;
	$astatus[$nstatus]["bpdate"] = $astatusline->bpdate;
	$astatus[$nstatus]["level_id"] = $astatusline->level_id;
};

$alevelssql = "SELECT * from levels ORDER BY id";
$alevelsquer = mysql_query($alevelssql, $sdb) or die(mysql_error());

while ($alevelline = mysql_fetch_object($alevelsquer)) {
	$nlevel = count($alevel);
	$alevel[$nlevel]["id"] = $alevelline->id;
	$alevel[$nlevel]["level"] = $alevelline->level;
};
?>
 
Laatst bewerkt:
Een kleine aanpassing en je kunt hem gewoon in je HTML-pagina aanroepen als extern Javascript bestand :)
PHP:
header('Content-Type: application/javascript');
var acountries = new Array();
var aregions = new Array();
var azipcodes = new Array();
 
function getzipcode(sloc) {
    alert(sloc);
    var nregionid;
    for (var nzc = 0; nzc <= azipcodes.length; nzc++) {
        if (sloc.toLowerCase() == azipcodes[nzc]["location"].toLowerCase()) {
            document.addcontactform.zipcode.value = azipcodes[nzc]["zipcode"];
            document.addcontactform.location_id.value = azipcodes[nzc]["id"];
            nregionid = azipcodes[nzc]["regionid"];
        };
    };
    getregion(nregionid);
};
 
function getregion(id) {
    var ncountryid;
    for (var nrc = 0; nrc <= aregions.length; nrc++) {
        if (id == aregions[nrc]["id"]) {
            document.addcontactform.region.value = aregions[nrc]["region"];
            document.addcontactform.country_id.value = aregions[nrc]["countryid"];
            nregionid = azipcodes[nzc]["regionid"];
        };
    };
    getcountry(ncountryid);
};
 
function getcountry(id) {
    for (var ncc = 0; ncc <= acountries.length; ncc++) {
        if (id == acountries[ncc]["id"]) {
            document.addcontactform.country.value = acountries[ncc]["country"];
        };
    };
};
<?php
$acountriessql = "SELECT * from countries ORDER BY id";
$acountriesquer = mysql_query($acountriessql, $sdb) or die(mysql_error());
 
while ($acountrieline = mysql_fetch_object($acountriesquer)) {
    $ncountries = count($acountries);
    $acountries[$ncountries]["id"] = $acountrieline->id;
    $acountries[$ncountries]["country"] = $acountrieline->country;
    $acountries[$ncountries]["code"] = $acountrieline->code;
    ?>
    acountries[<?php echo $ncountries; ?>]["id"] = <?php echo $acountrieline->id; ?>;
    acountries[<?php echo $ncountries; ?>]["country"] = "<?php echo $acountrieline->country; ?>";
    acountries[<?php echo $ncountries; ?>]["code"] = <?php echo $acountrieline->code; ?>;
    <?php
};
 
$aregionssql = "SELECT * from regions ORDER BY id";
$aregionsquer = mysql_query($aregionssql, $sdb) or die(mysql_error());
 
while ($aregionline = mysql_fetch_object($aregionsquer)) {
    $nregions = count($aregions);
    $aregions[$nregions]["id"] = $aregionline->id;
    $aregions[$nregions]["region"] = $aregionline->region;
    $aregions[$nregions]["country_id"] = $aregionline->country_id;
    ?>
    aregions[<?php echo $nregions; ?>]["id"] = <?php echo $aregionline->id; ?>;
    aregions[<?php echo $nregions; ?>]["region"] = "<?php echo $aregionline->region; ?>";
    aregions[<?php echo $nregions; ?>]["countryid"] = <?php echo $aregionline->country_id; ?>;
    <?php
};
 
$azipcodessql = "SELECT * from zipcodes ORDER BY id";
$azipcodesquer = mysql_query($azipcodessql, $sdb) or die(mysql_error());
 
while ($azipcodeline = mysql_fetch_object($azipcodesquer)) {
    $nzipcodes = count($azipcodes);
    $azipcodes[$nzipcodes]["id"] = $azipcodeline->id;
    $azipcodes[$nzipcodes]["zipcode"] = $azipcodeline->zipcode;
    $azipcodes[$nzipcodes]["location"] = $azipcodeline->location;
    $azipcodes[$nzipcodes]["region_id"] = $azipcodeline->region_id;
    ?>
    azipcodes[<?php echo $nzipcodes; ?>]["id"] = <?php echo $azipcodeline->id; ?>;
    azipcodes[<?php echo $nzipcodes; ?>]["zipcode"] = "<?php echo $azipcodeline->zipcode; ?>";
    azipcodes[<?php echo $nzipcodes; ?>]["location"] = "<?php echo $azipcodeline->location; ?>";
    azipcodes[<?php echo $nzipcodes; ?>]["regionid"] = <?php echo $azipcodeline->region_id; ?>;
    <?php
};
?>
En in je HTML:
HTML:
<script src="{bestandsnaam}.php"></script>

Ik zou zoveel mogelijk PHP, HTML, CSS en Javascript gescheiden houden :)

Kun je kort uitleggen wat deze code uiteindelijk moet realiseren?

Als ik de code doorlees is het de bedoeling dat men een plaatstnaam invoert en het script vervolgens de regio en het land opzoekt en invult.
Verder sla je enkele ID's op, vermoedelijk om via PHP relaties te kunnen leggen?

Omdat je PHP gebruikt kun je wellicht eenvoudiger iets via JSON realiseren, je kunt immers een PHP array of object omzetten naar zijn JS-variant via de functie json_encode() :)
Wellicht kun je op die manier een boel code schrappen en wordt het wat efficienter
 
Ok, dat ziet er inderdaad wel heel wat handiger uit om json_encode() te gebruiken. Leuke functie :thumb:
Klopt de volgende code dan een beetje?

PHP:
header('Content-Type: application/javascript');
var acountries = new Array();
var aregions = new Array();
var azipcodes = new Array();

function getzipcode(sloc) {
	var nregionid;
	for (var nzc = 0; nzc < azipcodes.length; nzc++) {
		document.getElementById("testdiv").innerHTML = azipcodes[nzc]["zipcode"];
		if (sloc.toLowerCase() == azipcodes[nzc]["location"].toLowerCase()) {
			alert(azipcodes[nzc]["zipcode"]);
			document.addcontactform.zipcode.value = azipcodes[nzc]["zipcode"];
			document.addcontactform.location_id.value = azipcodes[nzc]["id"];
			nregionid = azipcodes[nzc]["regionid"];
		};
	};
	getregion(nregionid);
};

function getregion(id) {
	var ncountryid;
	for (var nrc = 0; nrc < aregions.length; nrc++) {
		if (id == aregions[nrc]["id"]) {
			document.addcontactform.region.value = aregions[nrc]["region"];
			document.addcontactform.country_id.value = aregions[nrc]["countryid"];
			nregionid = azipcodes[nzc]["regionid"];
		};
	};
	getcountry(ncountryid);
};

function getcountry(id) {
	for (var ncc = 0; ncc < acountries.length; ncc++) {
		if (id == acountries[ncc]["id"]) {
			document.addcontactform.country.value = acountries[ncc]["country"];
		};
	};
};
<?php
$acountriessql = "SELECT * from countries ORDER BY id";
$acountriesquer = mysql_query($acountriessql, $sdb) or die(mysql_error());

while ($acountryline = mysql_fetch_object($acountriesquer)) {
	$ncountries = count($acountries);
	$acountries[$ncountries]["id"] = $acountryline->id;
	$acountries[$ncountries]["country"] = $acountryline->country;
	$acountries[$ncountries]["code"] = $acountryline->code;
};

$aregionssql = "SELECT * from regions ORDER BY id";
$aregionsquer = mysql_query($aregionssql, $sdb) or die(mysql_error());

while ($aregionline = mysql_fetch_object($aregionsquer)) {
	$nregions = count($aregions);
	$aregions[$nregions]["id"] = $aregionline->id;
	$aregions[$nregions]["region"] = $aregionline->region;
	$aregions[$nregions]["country_id"] = $aregionline->country_id;
};

$azipcodessql = "SELECT * from zipcodes ORDER BY id";
$azipcodesquer = mysql_query($azipcodessql, $sdb) or die(mysql_error());

while ($azipcodeline = mysql_fetch_object($azipcodesquer)) {
	$nzipcodes = count($azipcodes);
	$azipcodes[$nzipcodes]["id"] = $azipcodeline->id;
	$azipcodes[$nzipcodes]["zipcode"] = $azipcodeline->zipcode;
	$azipcodes[$nzipcodes]["location"] = $azipcodeline->location;
	$azipcodes[$nzipcodes]["region_id"] = $azipcodeline->region_id;
};
json_encode($acountries);
json_encode($aregions);
json_encode($azipcodes);
?>

De vraag is nu: onder welke naam wordt die opgeslagen in javascript en hoe haal ik er met javascript de juiste informatie uit?
In bovenstaande code heb ik de javascript functies nog ongemoeid gelaten.
 
Je moet nog wel even echoën :)

PHP:
echo 'var countries = '. json_encode($acountries) .';';
echo 'var regions = '. json_encode($aregions) .';';
echo 'var zipcodes = '. json_encode($azipcodes) .';';

Als je de URL direct opvraagt download hij waarschijnlijk het bestand, dit kun je "omzeilen" door even de header() in commentaar te zetten.

Ik bekijk hem meestal via mijn Developer Tools onder Resources in Chrome (Firefox met Firebug heeft ook zoiets).
Wanneer je hem kunt uploaden en via de <script>-tag aan de "Toevoegen" pagina kunt toevoegen, dan kunnen we even live meekijken met de eerder gegeven logingegevens :)
 
Opgelost, dank je wel voor de hulp.
Het blijft nog een tijdje toegankelijk voor jullie en hier is de code die het doet:

PHP:
<script language="javascript" type="text/javascript">
var ntotzips, ntotregs, ntotcounts, nregionid, ncountryid;

function getzipcode(sloc) {
	for (var nzc = 0; nzc < ntotzips; nzc++) {
		if (sloc.toLowerCase() == azipcodes[nzc]["location"].toLowerCase()) {
			document.addcontactform.zipcode.value = azipcodes[nzc]["zipcode"];
			document.addcontactform.location_id.value = azipcodes[nzc]["id"];
			getregion(azipcodes[nzc]["region_id"]);
		};
	};
};

function getregion(id) {
	for (var nrc = 0; nrc < ntotregs; nrc++) {
		if (id == aregions[nrc]["id"]) {
			document.addcontactform.region.value = aregions[nrc]["region"];
			getcountry(aregions[nrc]["country_id"]);
		};
	};
};

function getcountry(id) {
	for (var ncc = 0; ncc < ntotcounts; ncc++) {
		if (id == acountries[ncc]["id"]) {
			document.addcontactform.country.value = acountries[ncc]["country"];
		};
	};
};
<?php
$acountriessql = "SELECT * from countries ORDER BY id";
$acountriesquer = mysql_query($acountriessql, $sdb) or die(mysql_error());

while ($acountryline = mysql_fetch_object($acountriesquer)) {
	$ncountries = count($acountries);
	$acountries[$ncountries]["id"] = $acountryline->id;
	$acountries[$ncountries]["country"] = $acountryline->country;
	$acountries[$ncountries]["code"] = $acountryline->code;
};

$aregionssql = "SELECT * from regions ORDER BY id";
$aregionsquer = mysql_query($aregionssql, $sdb) or die(mysql_error());

while ($aregionline = mysql_fetch_object($aregionsquer)) {
	$nregions = count($aregions);
	$aregions[$nregions]["id"] = $aregionline->id;
	$aregions[$nregions]["region"] = $aregionline->region;
	$aregions[$nregions]["country_id"] = $aregionline->country_id;
};

$azipcodessql = "SELECT * from zipcodes ORDER BY id";
$azipcodesquer = mysql_query($azipcodessql, $sdb) or die(mysql_error());

while ($azipcodeline = mysql_fetch_object($azipcodesquer)) {
	$nzipcodes = count($azipcodes);
	$azipcodes[$nzipcodes]["id"] = $azipcodeline->id;
	$azipcodes[$nzipcodes]["zipcode"] = $azipcodeline->zipcode;
	$azipcodes[$nzipcodes]["location"] = $azipcodeline->location;
	$azipcodes[$nzipcodes]["region_id"] = $azipcodeline->region_id;
};
?>
var acountries = <?php echo json_encode($acountries); ?>;
var aregions = <?php echo  json_encode($aregions); ?>;
var azipcodes = <?php echo json_encode($azipcodes); ?>;
ntotcounts = <?php echo count($acountries); ?>;
ntotregs = <?php echo count($aregions); ?>;
ntotzips = <?php echo count($azipcodes); ?>;
</script>
 
Waarom de regels 65 t/m 67?

Je kunt als het goed is gewoon acountries.length doen :)
 
Had het geprobeerd, maar zoals zoveel dingen, lukte het me niet direct en was dat de oplossing.
Nu blijkt het wel te werken, bedankt :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan