无法访问<head>中休息的<script>块中声明的函数

时间:2017-12-13 14:03:35

标签: javascript html css

我正在尝试创建一个脚本,该脚本从表单中获取数据并使用函数创建动态表。即当我点击某个特定按钮时,会在表格中添加一行,并显示新表格。我已经尝试将表单和函数保存在脚本中,头文中的脚本和正文中的表单但没有任何作用!

&#xA;&#xA;
 &lt; head&gt;&# XA; &LT;脚本&GT;&#XA;&#XA; function addData(){&#xA; var baseid = getElementById(“baseID”);&#xA; var sauceid = getElementById(“sauceID”);&#xA; var toppingsid = getElementById(“toppingsID”);&#xA;&#xA; var table = getElementById(“dynamictable”);&#xA; var rowCount = table.rows.length;&#xA; var row = table.insertRow(rowCount)&#xA;&#xA; row.insertCell(0).innerHTML = baseid.value;&#xA; row.insertCell(1).innerHTML = sauceid.value;&#xA; row.insertCell(2).innerHTML = toppingsid.value;&#xA; }&#XA;&#XA; &LT; /脚本&GT;&#XA;&LT; /头&GT;&#XA;&LT;身体GT;&#XA;&#XA; &LT;表&gt;&#XA; &LT; TR&GT;&#XA; &LT; TD&GT;&#XA;基地&放大器; NBSP&#XA; &LT; / TD&GT;&#XA; &LT; TD&GT;&#XA; &lt; select id ='baseID'style ='width:150px'&gt;&#xA; &lt; option value ='Regular'&gt; Regular&lt; / option&gt;&#xA; &lt; option value ='Regular'&gt; Thin&lt; / option&gt;&#xA; &lt; option value ='Regular'&gt; Cheese Burst&lt; / option&gt;&#xA; &lt; option value ='Regular'&gt; Wheat&lt; / option&gt;&#xA; &lt; option value ='Regular'&gt; Multi-grain&lt; / option&gt;&#xA; &lt; option value ='Regular'&gt; Thin wheat&lt; / option&gt;&#xA; &LT; /选择&GT;&#XA; &LT; / TD&GT;&#XA; &LT; / TR&GT;&#XA; &LT; TR&GT;&#XA; &LT; TD&GT;&#XA;酱料放大器; NBSP&#XA; &LT; / TD&GT;&#XA; &LT; TD&GT;&#XA; &lt; select id ='sauceID'style ='width:150px'&gt;&#xA; &lt; option value ='Margarhita'&gt; Margarhita&lt; / option&gt;&#xA; &lt; option value ='Pesto'&gt; Pesto&lt; / option&gt;&#xA; &lt; option value ='Bechamel'&gt; Bechamel&lt; / option&gt;&#xA; &lt; option value ='Salsa'&gt; Salsa&lt; / option&gt;&#xA; &lt; option value ='BBQ'&gt; BBQ&lt; / option&gt;&#xA; &lt; option value ='Pepper Jelly'&gt; Pepper Jelly&lt; / option&gt;&#xA; &lt; option value ='Romesco'&gt; Romesco&lt; / option&gt;&#xA; &lt; option value ='Thai Chilly'&gt; Thai Chilly&lt; / option&gt;&#xA; &LT; /选择&GT;&#XA; &LT; / TD&GT;&#XA; &LT; / TR&GT;&#XA; &LT; TR&GT;&#XA; &LT; TD&GT;&#XA;浇头和放大器; NBSP&#XA; &LT; / TD&GT;&#XA; &LT; TD&GT;&#XA; &lt; input type ='text'id ='toppingsID'style ='width:146px'&gt;&#xA; &LT; / TD&GT;&#XA; &LT; / TR&GT;&#XA; &LT; TR&GT;&#XA; &lt; td colspan = 2 align ='center'&gt;&#xA; &lt; input type =“button”id =“add”value =“Add”onclick =“adddata()”&gt;&#xA; &LT; / TD&GT;&#XA; &LT; / TR&GT;&#XA; &LT; /表&gt;&#XA;&#XA; &lt; br /&gt;&lt; br /&gt;&#xA;&#xA; &lt; table border = 1 id =“dynamictable”style =“width:450px”&gt;&#xA; &lt; caption style =“margin-bottom:7px”&gt;&lt; b&gt;&lt; u&gt;订单&lt; / u&gt;&lt; / b&gt;&lt; / caption&gt;&#xA; &LT; TR&GT;&#XA; &lt; td align =“center”width = 150px&gt;&lt; b&gt; Base&lt; / b&gt;&lt; / td&gt;&#xA; &lt; td align =“center”width = 150px&gt;&lt; b&gt; Sauce&lt; / b&gt;&lt; / td&gt;&#xA; &lt; td align =“center”width = 150px&gt;&lt; b&gt; Toppings&lt; / b&gt;&lt; / td&gt;&#xA; &LT; / TR&GT;&#XA; &LT; /表&gt;&#XA;&#XA;&LT; /体&GT;&#XA;  
&#XA;

2 个答案:

答案 0 :(得分:2)

没有全局getElementById()功能。它是document.getElementById()。您还将函数命名为addData(),但您的HTML事件处理程序将其命名为adddata()。 JavaScript区分大小写。

在测试代码时保持开发人员控制台处于打开状态。

答案 1 :(得分:0)

  1. 在按钮中添加功能时会出现拼写错误。

  2. 使用document.getElementById()。不是getElementById()本身。

  3. 此外,您的addData()不会动态添加数据。请参阅:Get selected value in dropdown list using JavaScript?