2009-07-21 10 views
0

Ich benutze dieses JS-Skript für die Auswahl mehrerer Länder und ich bekomme einen Fehler von Firebug.Null-Objekt Problem

selObj is null 
[Break on this error] selObj.options[0] = new Option('Select Country',''); 

Der entsprechende Code ist dies:

function populateCountry(idName) { 
var countryLineArray = country.split('|'); // Split into lines 

var selObj = document.getElementById(idName); 

selObj.options[0] = new Option('Select Country',''); 
selObj.selectedIndex = 0; 


for (var loop = 0; loop < countryLineArray.length; loop++) { 

lineArray = countryLineArray[loop].split(':'); 

countryCode = TrimString(lineArray[0]); 

Das vollständige Skript can be found here.

Dies ist, wie ich es in meinem HTML:

<select id="billCountrySelect" onchange="updateState('billCountrySelect')" name="bill_country"> 

Was das Problem ist. Ich gebe es korrekte Parameter ??

+0

Da Sie den Fehler nicht melden, können wir nicht helfen. –

+0

Es ist das erste Ding in meiner Frage ?? selObj ist null. – Abs

+0

Tatsächlich rufen Sie die updateState-Methode in Ihrem Code auf, aber Sie listen die populateCountry-Methode als Quelle des Problems auf. Ich sehe keine updateState-Methode im Code in dem von Ihnen angegebenen Link. Wird in populateCountry oder in updateState wirklich ein Fehler ausgegeben? Wenn es updateState ist, könnten Sie diese Quelle bereitstellen? –

Antwort

2

Aus einem flüchtigen Blick scheint es, dass in

"var selObj = document.getElementById (idName);"

"document.getElementById (IDName);" gibt nichts zurück (oder genauer gesagt, gibt null zurück).

Meine Schätzung ist, dass der Wert von IDName nicht übereinstimmt. Ich würde damit beginnen, genau zu gewährleisten, was der Wert dieser Variablen unmittelbar vor der document.getElement-Anweisung ist (ich würde auch nach nicht druckbaren Zeichen suchen, nur um gründlich zu sein).

Verwandte Themen