JavaScript的onClick函数不起作用

3
<script language="javascript" type="text/javascript">
function delete() {
var newwindow;
newwindow=window.open();

}

function edit(){
}
</script>

[...]

   <table class="table table-striped">
      <thead>
      <th>Id</th>
      <th>Titel</th>
      <th>Ort</th>
      <th>Referenzcode</th>
      <th>Bearbeiten</th>
      <th>L�schen</th>
      </thead>
      <tbody>
          <c:forEach items="${vacancies}" var="vac">
          <spring:url value="/vac" htmlEscape="true" var="vacEdit" />
          <spring:url value="/vac/${vac.id}" htmlEscape="true" var="vacDelete" />
          <tr>
              <td><c:out value="${vac.id}"/></td>
              <td><c:out value="${vac.titel}"/></td>
              <td><c:out value="${vac.location}"/></td>
              <td><c:out value="${vac.referenceCode}"/></td>
              <td><input type="button" name="Bearbeiten" value="Edit" onclick="edit();"></td>
              <td><input type="button" name="Loeschen" value="Delete" onclick="delete();"></td>
          </tr>
          </c:forEach>
      </tbody>
  </table>

谷歌浏览器的JavaScript控制台会抛出以下三个错误:

Uncaught SyntaxError: Unexpected token delete vacAdmin:23
Uncaught ReferenceError: edit is not defined  vacAdmin:122 
Uncaught SyntaxError: Unexpected token )    vacAdmin:123

请问为什么 onclick 方法不能调用或找到 edit()delete() 函数?


请问您能否在 JSFiddle 上重现这个问题? - Lal
我会尝试,以前从未使用过。 - Stan
否则,请右键单击浏览器并共享页面源代码。 - Vicky
很抱歉,我在使用搜索框时没有找到这个。 - Stan
1个回答

4
问题在于您不能使用保留的语言词汇作为标识符,比如delete。在javascript中,delete是一个删除对象属性的运算符。
请将您的函数重命名为deleteVacancy等类似的名称,这样它就可以正常工作了。
<input type="button" name="Loeschen" value="Delete" onclick="deleteVacancy();">

2
啊!那就是错误了,谢谢。 - Stan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接