2017-02-17 39 views
0

更新我試圖做一個頁面,其中usere兩種產品之間的選擇可以在兩個領域,這將追加在鏈路的末端輸入一些文字。我的網頁作品如果我先輸入文本,然後選擇的選項但是如果我選擇產品選項第一個文本沒有追加,如果我嘗試一次顯示的鏈接以更新字段中的文本,它仍然是相同的。我是一個JavaScript的初學者,所以對於我出錯的任何建議都將不勝感激?的Javascript DIV沒有變化

<html> 
 
    <head> 
 
    <script type="text/javascript"> 
 
     function productChange(product) { 
 
      var val = product.value 
 
      var idTag = document.getElementById("idTag"); 
 
      var trackingTag = document.getElementById("trackingTag"); 
 

 
      if (val == 'Movies') { 
 
       document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #680091;">Your movies link is:</span>'; 
 
       document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/MOVIES?cid=' + idTag.value + '&omniture=' + trackingTag.value; 
 
      } else { 
 
       document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #FF7000;">Your ents link is:</span>'; 
 
       document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/ENTS?cid=' + idTag.value + '&omniture=' + trackingTag.value; 
 

 
      } 
 
     } 
 
    </script> 
 
    </head> 
 
    <body> 
 
    Movies: <input name="ProductRadio" type="radio" value="Movies" onclick='productChange(this)' id="MoviesRadio" /><br> 
 
    Ents: <input name="ProductRadio" type="radio" value="Entertainment" onclick='productChange(this)' id="EntsRadio" /> 
 
    <br><br> 
 
    ID: <input type="text" id="idTag" onchange="productChange()"><br> 
 
    Tracking: <input type="text" id="trackingTag" onchange="productChange()"> 
 
    <br><br> 
 
    <div align="center" id="divProductChangeLinkTitle"></div> 
 
    <br><br> 
 
    <div id="divProductChangeFinalMovLink" style="color: #000000;"></div> 
 
    </body> 
 
    </html>

回答

0

在你的方法中,當輸入文本發生onChange事件時,val不確定,因爲你沒有傳遞任何東西,所以在productChange()方法中,你可以直接獲得單選按鈕的值,我在你的代碼,請fiddle -

HTML -

Movies: <input name="ProductRadio" type="radio" value="Movies" onclick='productChange()' id="MoviesRadio" /><br> 
Ents: <input name="ProductRadio" type="radio" value="Entertainment" onclick='productChange()' id="EntsRadio" /> 
<br><br> 
ID: <input type="text" id="idTag" onchange="productChange()"><br> 
Tracking: <input type="text" id="trackingTag" onchange="productChange()"> 
<br><br> 
<div align="center" id="divProductChangeLinkTitle"></div> 
<br><br> 
<div id="divProductChangeFinalMovLink" style="color: #000000;"></div> 

JavaScript - 立即

function productChange() { 

     var val = document.querySelector('input[type="radio"][name="ProductRadio"]:checked').value; 
     var idTag = document.getElementById("idTag").value; 
     var trackingTag = document.getElementById("trackingTag").value; 

     if (val == 'Movies' && idTag && trackingTag) { 
      document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #680091;">Your movies link is:</span>'; 
      document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/MOVIES?cid=' + idTag + '&omniture=' + trackingTag; 
     } else if(val=='Entertainment' && idTag && trackingTag){ 
      document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #FF7000;">Your ents link is:</span>'; 
      document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/ENTS?cid=' + idTag + '&omniture=' + trackingTag; 

     } 
    } 

,如果單選按鈕選擇ED和兩個輸入端有一定的價值,然後只鏈接將顯示

-1

<html> 
 
    <head> 
 
    <script type="text/javascript"> 
 
     function productChange(product) { 
 
      var val = document.querySelector('input[type="radio"][name="ProductRadio"]:checked').value; 
 
      var idTag = document.getElementById("idTag"); 
 
      var trackingTag = document.getElementById("trackingTag"); 
 

 
      if (val == 'Movies') { 
 
       document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #680091;">Your movies link is:</span>'; 
 
       document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/MOVIES?cid=' + idTag.value + '&omniture=' + trackingTag.value; 
 
      } else { 
 
       document.getElementById('divProductChangeLinkTitle').innerHTML = '<span style="color: #FF7000;">Your ents link is:</span>'; 
 
       document.getElementById('divProductChangeFinalMovLink').innerHTML = 'https://www.link/ENTS?cid=' + idTag.value + '&omniture=' + trackingTag.value; 
 

 
      } 
 
     } 
 
    </script> 
 
    </head> 
 
    <body> 
 
    Movies: <input name="ProductRadio" type="radio" value="Movies" onclick='productChange(this)' id="MoviesRadio" /><br> 
 
    Ents: <input name="ProductRadio" type="radio" value="Entertainment" onclick='productChange(this)' id="EntsRadio" /> 
 
    <br><br> 
 
    ID: <input type="text" id="idTag" onchange="productChange()"><br> 
 
    Tracking: <input type="text" id="trackingTag" onchange="productChange()"> 
 
    <br><br> 
 
    <div align="center" id="divProductChangeLinkTitle"></div> 
 
    <br><br> 
 
    <div id="divProductChangeFinalMovLink" style="color: #000000;"></div> 
 
    </body> 
 
    </html>

你需要傳遞的價值,同時調用productChange功能。

+0

請在發佈前測試代碼 –

0

嘿上面的代碼工作,但您也設置一個條件檢查ATLEAST一個單選按鈕,然後其他人補上直接輸入值填補這些輸入文本字段它給錯誤。 因此需要檢查一個單選按鈕。