2009-07-21 5 views
0

J'utilise ce script JS pour la sélection de plusieurs pays et j'obtiens une erreur de firebug.Problème d'objet nul

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

Le code correspondant est le suivant:

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]); 

Le script complet can be found here.

Voilà comment je l'utilise dans mon HTML:

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

Quel est le problème. Je passe les paramètres corrects ??

+0

puisque vous ne donnez pas l'erreur signalée, nous ne pouvons pas vous aider. –

+0

C'est la première chose dans ma question ?? selObj est nul. – Abs

+0

En fait, vous appelez la méthode updateState dans votre code, mais vous listerez la méthode populateCountry comme étant la source du problème. Je ne vois pas une méthode updateState dans le code dans le lien que vous avez fourni. Est-ce vraiment une erreur dans populateCountry ou dans updateState? Si c'est updateState, pourriez-vous fournir cette source? –

Répondre

2

D'un simple coup d'oeil, il semble que dans

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

"document.getElementById (idName);" ne retourne rien (ou retourne plus précisément null).

Mon suppose que est que la valeur de idName ne correspond pas. Je commencerais par m'assurer exactement quelle est la valeur de cette variable immédiatement avant l'instruction document.getElement (je vérifierais aussi les caractères non imprimables juste pour être complet).