2017-09-07 7 views
0

私はJSには新しく、プロンプトを使用してオプション値を更新しようとしています。私は異なる形の同じID要素を持っています。javascriptは異なる形式のIDを選択します

私は同じIDを持つ2つのフォームとdc_list_Z_sideとdc_list_A_sideを持っています。 JSを使用してフォームにIDを選択する方法はありますか?

JSコード:

function add_dc_form_down2() { 
    var theSelectA = form_down2.dc_list_A_side; 
    if (theSelectA[theSelectA.selectedIndex].value == "zzzzADD DC zzzzzz") { 
     var dc_name = prompt("Enter DC Name"); 
     if (dc_name != null){ 
      dc_a = document.getElementById("dc_list_A_side") 
      dc_a.options[dc_a.selectedIndex].text = dc_name; 
      dc_a.options[dc_a.selectedIndex].value = dc_name; 
      } 
    } 
    var theSelectZ = form_down2.dc_list_Z_side; 
    if (theSelectZ[theSelectZ.selectedIndex].value == "zzzzADD DC zzzzzz") { 
     var dc_name2 = prompt("Enter DC Name"); 
     if (dc_name2 != null){ 
      dc_z = document.getElementById("dc_list_Z_side"); 
      dc_z.options[dc_z.selectedIndex].text = dc_name2; 
      dc_z.options[dc_z.selectedIndex].value = dc_name2; 
      } 
    } 
    return false; 
} 

function add_dc_form_flap() { 
    var theSelectA = flap_form.dc_list_A_side; 
    if (theSelectA[theSelectA.selectedIndex].value == "zzzzADD DC zzzzzz") { 
     var dc_name = prompt("Enter DC Name"); 
     if (dc_name != null){ 
      dc_a = document.getElementById("dc_list_A_side") 
      dc_a.options[dc_a.selectedIndex].text = dc_name; 
      dc_a.options[dc_a.selectedIndex].value = dc_name; 
      } 
    } 
    var theSelectZ = flap_form.dc_list_Z_side; 
    if (theSelectZ[theSelectZ.selectedIndex].value == "zzzzADD DC zzzzzz") { 
     var dc_name2 = prompt("Enter DC Name"); 
     if (dc_name2 != null){ 
      dc_z = document.getElementById("dc_list_Z_side"); 
      dc_z.options[dc_z.selectedIndex].text = dc_name2; 
      dc_z.options[dc_z.selectedIndex].value = dc_name2; 
      } 
    } 
    return false; 
} 
+0

あなたは別の*ページにアクセスしようとしていますか?どうやって?あるいは同じページで同じ 'id 'を再利用しているということですか?無効なHTMLになります。 – David

+0

同じHTMLページ上の異なるフォームのIDです。実際には、一度に表示できるフォームは1つだけです。 – ajay

+6

同じHTML文書で 'id'値を再利用することはできません。さもなければ、 'getElementById()'のようなものはあなたが意味する* *要素を知る手段を持たないでしょう。 HTMLが無効である限り、JavaScriptの動作は未定義です。 – David

答えて

0

は私はJSを使用してフォームにIDを選択することができます方法はありますか?

あなたは同じid(例えば「dc_list_A_side」)を使用して、同じページに同じフォーム要素を持っていることについて話している場合は、のdocument.getElementById(でそれらを取得することはできません)。 id属性は、HTMLページ全体に固有の値を持たなければなりません。 JavaScriptは必ずしも有効なHTMLに依存しているわけではありませんが、この場合、JavaScriptが望むものを達成することは不可能です。

たとえば、IDを「dc_list_A_side_a」および「dc_list_A_side_b」に変更することを検討してください。

関連する問題