Не удается вызвать функции javascript

#javascript-events #javascript

#javascript-события #javascript

Вопрос:

Источник страницы:

 <html>
<head>
<title>Admin Search Results</title>

<script type="text/javascript">
function delete()
{     
    alert("abc");
}
</script>
</head>
<body>
<h1>Admin Search Results</h1>
<form id="modDel" action="modDel.pl" method="post" onsubmit="return delete()">
<table border="1">
<tr>
<th>User Name</th>
<th>Email</th>
<th>First Name</th>
<th>Last Name</th>
<th>Password</th>
<th>Blocked</th>
<th>Modify</th>
<th>Delete</th>
</tr>
<tr>
<input type="hidden" id="un_0" name="un_0" value="aa">
<td>aa</td>
<td>aa</td>
<td>aa</td>
<td>aa</td>
<td>aa</td>
<td>0</td>
<td><input type="submit" name="modify_0" value="Modify"></td>
<td><input type="checkbox" id="delete_0" name="delete_0" value="Yes"></td>
</tr>
<tr>
<input type="hidden" id="un_1" name="un_1" value="a">
<td>a</td>
<td>a</td>
<td>a</td>
<td>a</td>
<td>a</td>
<td>0</td>
<td><input type="submit" name="modify_1" value="Modify"></td>
<td><input type="checkbox" id="delete_1" name="delete_1" value="Yes"></td>
</tr>

</table>
<input type="hidden" id="count" name="count" value="1">
<input type="submit" id="delete" name="delete" value="Delete Selected Accounts" onclick="delete()">
<button type="button" onclick="delete()">Display Date</button>
</form>
</body>
</html>
 

Он генерируется скриптом perl на основе двух шаблонов (один для таблицы).

Все, чего я хочу, — это чтобы что-то произошло на каком-нибудь мероприятии. Я добавил onsubmit и onclick, но ни то, ни другое не работает.

Я уверен, что просто упускаю что-то маленькое, но я этого не вижу. кстати, я использую chrome.

Редактировать: я могу заставить его работать, добавив код js непосредственно в кавычки onclick / onsubmit.

Ответ №1:

Проблема здесь в том, что это delete зарезервированное слово в JavaScript. Попробуйте другое имя функции. Также нет необходимости return в onsubmit функции in, просто вызывайте функцию напрямую.

 <script type="text/javascript">
function deleteFunc()
{     
    alert("abc");
}
</script>
</head>
<body>
<h1>Admin Search Results</h1>
<form id="modDel" action="modDel.pl" method="post" onsubmit="deleteFunc()">
 

Комментарии:

1. Вау. Я думал, что это будет что-то простое. Большое спасибо.

2. Также исправьте его встроенные обработчики событий o/

3. я вставил дополнительные возвраты, потому что я видел их где-то в примере, пытаясь устранить мою проблему. Но сейчас я их уберу.

4. хорошо, nvm. мне действительно нужны были дополнительные возвраты. Они останавливают отправку моей формы, если я возвращаю false . Я полагаю, что есть лучший способ для этого.