Javascript TypeError:document.getElementById(…)很简单,但请提供帮助

Javascript TypeError:document.getElementById(…)很简单,但请提供帮助,javascript,html,Javascript,Html,我正在创建一个简单的程序,实际上我是网络工程师而不是程序员:) 我正在为小公司(不是为商业)创建这个HTML+Javascript 下面是错误代码:TypeError:document.getElementById(…)为空 这是我的源代码,请帮助p: <!DOCTYPE html> <html> <body> <div id="container" style="width:1350px;height:600px"> <div id=

我正在创建一个简单的程序,实际上我是网络工程师而不是程序员:) 我正在为小公司(不是为商业)创建这个HTML+Javascript 下面是错误代码:TypeError:document.getElementById(…)为空 这是我的源代码,请帮助p:

  <!DOCTYPE html>
<html>
<body>

<div id="container" style="width:1350px;height:600px">
<div id="header" style="background-color:#094AB2;width:1350px;height:50px">
<h1 style="font-family:verdana;color : white;">Preventive Maintenance Analyzer Tools</font></h1></div>

<div id="menu" style="background-color:#DAE0DA;height:560px;width:150px;float:left;">
<img src = "taxi.png" width = "130" height = "130" align = "center"><br><br><br><br><br>
<font size="4"><a href = "http://localhost/home.php">HOME</a><br><br></font>
<font size="4"><a href = "http://localhost/entry.html">CREATE NEW</a><br><br></font>
<font size="4"><a href = "">SETTINGS</a></font><br><br><br><br><br></br>
<img src = "taxi2.png" width = "140" height = "130" align = "center">
</div>

<h2><center>Silahkan Isi Detail Form Dibawah Ini</center></h2>

<div align = "center">
<fieldset>
<legend><b>Detail Onsite</b></legend>
Dari : 
<select name="dari">
<option value="CO">Cyber Office</option>
<option value="LK">Lippo Kuningan</option>
</select><br><br>
Tujuan PM :
<select name="tujuan">
<option value="abb">ABB Sakti Industri</option>
<option value="ace">ACE Life Assurance</option>
<option value="cigna">Asuransi Cigna</option>
<option value="bahana">Bahana Securities</option>
<option value="cimb">Bank CIMB</option>
<option value="dki">Bank DKI</option>
<option value="icbc">Bank ICBC Indonesia</option>
<option value="bni">Bank BNI</option>
<option value="courts">Courts Retail Indonesia</option>
<option value="ffi">Frisian Flag Indonesia</option>
<option value="gel">Great Eastern Life Indonesia</option>
<option value="komatsu">Komatsu Indonesia</option>
<option value="pertamina">Pertamina EP</option>
<option value="rscm">Rumah Sakit Cipto Mangunkusomo (RSCM)</option>
<option value="siloam">Siloam Hospital</option>
<option value="takeda">Takeda Indonesia</option>
<option value="vni">Visionet</option>
</select><br><br>

Cuaca : 
<select name="cuaca">
<option value="normal">Normal / Cerah</option>
<option value="gerimis">Gerimis</option>
<option value="hujan">Hujan</option>
</select><br><br>

Faktor Eksternal (contoh demo, banjir, macet luar biasa dll) : <br>
<select name="fe">
<option value="tidak">Tidak Ada</option>
<option value="ada">Ada</option>
</select><br><br>

<a href="javascript:void(0)" id="submit">Submit</a>

</form>
</div>


<div id="output" style="display:none">


      <center><h2>Tarif</h2></center>
      <table border="4" ALIGN="center" >
        <td> Tarif </td>
        <td id="output_t4"></td>
        <tr>
        <td> Sub Total </td>
        <td id="output_t2"></td>
        <tr>

        </table>

 </div>

<script>
document.getElementById('submit').onclick = function(){

  document.getElementById('output').style.display = "block";

  var dari          = document.getElementById('dari').value;
  var tujuan        = document.getElementById('tujuan').value;
  var cuaca         = document.getElementById('cuaca').value;
  var fe            = document.getElementById('fe').value;

  var t1; 
  var t2; 
  var t3;
  var t4;

  switch(tujuan){

    case "abb":
      t1 = 370000;
      break;

    case "ace":
      t1 = 300000;
      break;

    case "cigna":
      t1 = 170000;
      break;

    case "bahana":
      t1 = 375000;
      break;

    case "cimb":
      t1 = 300000;
      break;

    case "dki":
      t1 = 300000;
      break;

    case "icbc":
      t1 = 330000;
      break;

    case "bni":
      t1 = 350000;
      break;  

     case "courts":
      t1 = 350000;
      break;

    case "ffi":
      t1 = 430000;
      break;

    case "gel":
      t1 = 360000;
      break;

     case "komatsu":
      t1 = 580000;
      break;

    case "pertamina":
      t1 = 370000;
      break;

    case "rscm":
      t1 = 370000;
      break;

    case "siloam":
      t1 = 50000;
      break;

    case "takeda":
      t1 = 350000;
      break;

    case "visionet":
      t1 = 20000;
      break;

  } 

  switch(cuaca){

    case "normal":
      t2 = 0;
      break;

    case "gerimis":
      t2 = 20000;
      break;

    case "hujan":
      t3 = 40000;
      break;

    }

    switch(fe){

    case "tidak":
      t3 = 0;
      break;

    case "ada":
      t3 = 30000;
      break;

    }   

  t4 = t1 + t2 + t3;
  console.log(t4);

  document.getElementById('output_t2').innerHTML = t2; 
  document.getElementById('output_t4').innerHTML = t4;
}
</script>

</body>

<div id="footer" style="background-color:#094AB2;clear:both;text-align:center;">
<font color = "white">Copyright : M. Rinaldy Aulia</font></div>
</html>

预防性维护分析工具















Silahkan Isi详细信息表Dibawah Ini 现场细节 达里: 网络办公室 力宝库宁甘酒店

图娟下午: 萨提工业公司ABB ACE人寿保险 阿苏兰西信诺酒店 巴哈纳证券 银行CIMB 雅京特区银行 中国工商银行印度尼西亚分行 印尼国家银行 印度尼西亚法院零售 印度尼西亚国旗 伟大的东方生活印度尼西亚 印度尼西亚小松 佩塔米纳酒店 Rumah Sakit Cipto Mangunkusomo(RSCM) 西罗亚姆医院 武田印度尼西亚 Visionet

Cuaca: 普通/陶瓷 格里米斯 胡扬

Faktor Eksternal(包括演示、banjir、macet luar biasa dll):
蒂达克阿达 艾达

塔里夫 塔里夫 小计 document.getElementById('submit')。onclick=function(){ document.getElementById('output').style.display=“block”; var dari=document.getElementById('dari').value; var tujuan=document.getElementById('tujuan').value; var cuaca=document.getElementById('cuaca').value; var fe=document.getElementById('fe')。值; var-t1; var-t2; var-t3; var t4; 交换机(tujuan){ 案例“abb”: t1=370000; 打破 案例“ace”: t1=300000; 打破 “信诺”案: t1=170000; 打破 “巴哈纳”案: t1=375000; 打破 案例“cimb”: t1=300000; 打破 “dki”案: t1=300000; 打破 案例“工行”: t1=330000; 打破 案例“bni”: t1=350000; 打破 案件“法院”: t1=350000; 打破 “外国金融机构”案: t1=430000; 打破 案例“凝胶”: t1=360000; 打破 “小松”案: t1=580000; 打破 “财产”一案: t1=370000; 打破 案例“rscm”: t1=370000; 打破 案例“siloam”: t1=50000; 打破 “武田”案: t1=350000; 打破 案例“visionet”: t1=20000; 打破 } 开关(cuaca){ “正常”情况: t2=0; 打破 “gerimis”案: t2=20000; 打破 “胡扬”案: t3=40000; 打破 } 开关(fe){ “蒂达克”案: t3=0; 打破 “ada”案: t3=30000; 打破 } t4=t1+t2+t3; 控制台日志(t4); document.getElementById('output_t2')。innerHTML=t2; document.getElementById('output_t4')。innerHTML=t4; } 版权所有:M.Rinaldy Aulia
以便使用JavaScript的
document.getElementById()访问表单元素的值您需要向每个select元素添加id

目前,您似乎混淆了ID的“名称”

为了解决这个问题,我将向每个select元素添加和“id”属性

比如说,

您可以使用javascript中的id获取任意元素的值,如下所示:


var fe=document.getElementById('fe').value

没有看到id为的元素
dari
,我认为这会解决您的问题。hi@Tushar谢谢您的时间。事实上,这不是重要的元素,我已经删除后,你的评论。在删除它之后,问题仍然出现:(好的,检查所有元素的相同情况,如果存在具有idHi Tushar的元素,是的,我找到了问题,它位于输入区域..应该添加“ID”。非常感谢您的时间:)嗨,Steve,非常感谢您,用您的描述修复。。