2017-03-10 9 views
0

通常のトリックはこれで動作しません。何が起こっているのかわかりません。3つの異なる条件があります。従いJavascriptの要素を解析することができないようです。<input>フィールド

if (addressObj.types[j] === 'administrative_area_level_1') { 
     if ((document.getElementById('county_from').value = addressObj.short_name) === 'County Carlow') { 
     document.getElementById('id_location_value').value = 2; 
     } 
     if ((document.getElementById('county_from').value = addressObj.short_name) === 'County Cavan') { 
     document.getElementById('id_location_value').value = 3; 
     } 
     if ((document.getElementById('county_from').value = addressObj.short_name) === 'County Clare') { 
     document.getElementById('id_location_value').value = 4; 
     }     

私は私が作成した「試験」データベースのカラムに情報を解析する際に、それは

<input type="hidden" id="id_location_value" name="test_location" /> 

test_locationの下で正常に動作しますが、私はそれは私が必要とする実際の列で動作させることはできませんこのプロジェクトに使用するには

012私はそのように従う

<input type="hidden" id="location-selected" name="location" value="64" /> 

としてランダムな値を入れた場合と同じに動作します

<input type="hidden" id="location-selected" name="location" value="id_location_value" /> 

が、私はここで何をしないのですか?

+2

2番目の入力が 'id-location-value'ではなく' id'として 'location-selected'を持っている可能性があります。 – Siphalor

+0

はい私もそれを試しました...しかし、なぜ私は '64'のようなランダムな値を使用し、私の要素値id_location_valueを使用していないときに動作していますか?それが私に困惑しているのです... – FusionDesign

答えて

0

この行に問題がある可能性があります。あなたはあなたの質問では、マークアップに基づいてif

if ((document.getElementById('county_from').value = addressObj.short_name) === 
                ^^^ 
'County Carlow') 
+0

if条件がうまくいき、それぞれの値を返しています。私は実際には、データベース内の 'テスト'の列を使用してこれらの値を解析することができますが、実際の場所の列を使用して動作しません...私はここで間違っているのか分からない??? – FusionDesign

0

内の値を代入しようとしている

最初の入力は、ID "id_location_value" を持っている

<input type="hidden" id="id_location_value" name="test_location" /> 

ので

document.getElementById('id_location_value') 

は入力要素を返し、その要素に値を設定できます。他方の手で

他の2つの入力

<input type="hidden" id="location-selected" name="location" value="id_location_value" /> 
<input type="hidden" id="location-selected" name="location" value="64" /> 

は異なるIDを有しています。 これらのケースでは

document.getElementById('id_location_value') 

戻りヌルとブラウザがあなたが「id_location_value」 にご入力されたIDを設定することができたり、

にJSを変えることができる

Uncaught TypeError: Cannot set property 'value' of null 

のようなエラーをスローする必要があります

document.getElementById('location-selected').value = 2; 
関連する問題