Мне нужно использовать функцию для установки данных перед отправкой формы, я использую onclick для вызова моей функции, но когда я нажимаю кнопку, все передается без прохождения через функцию javascript , Вот мой код:Функция Javascript не называется
<html>
<head>
<title>Biblioteca Jsp</title>
</head>
<script>
var checkedBookList = [];
function checkBook(id) {
var check = document.getElementById(id);
checkedBookList[id] = check.checked;
}
function submit(){
document.forms["frBookaBook"].selectedBooks = checkedBookList;
alert("");
document.forms["frBookaBook"].submit();
}
</script>
<body>
<h1 align="center">Elenco libri</h1>
<hr>
<table align="center" cellspacing="5" cellpadding="5" border="1">
<tr>
<th><font color="#822222"> Nome </font></th>
<th><font color="#822222"> Autore </font></th>
<th><font color="#822222"> Tipologia </font></th>
</tr>
<% List<MyBook> books = (List<MyBook>)session.getAttribute("bookList");
String listBook = null;
if(books!=null && !books.isEmpty()){
for (MyBook myBook : books) { %>
<tr>
<td><%=myBook.getBkName() %></td>
<td><%=myBook.getBkAuthor() %></td>
<td><%=myBook.getBkClass() %></td>
<td><input type="checkbox" onChange="checkBook('<%=myBook.getBkID()%>')"
id="<%=myBook.getBkID()%>" name="<%=myBook.getBkName()%>" <% if(myBook.getBkBusy()!=null) { %> disabled="disabled" /> Busy <%} else{ %> /> <%}%>
</td>
</tr>
<% }
}%>
</table>
<hr>
<form id="frBookaBook" action="ServletBiblio" method="post" onsubmit="return false">
<div align="center">
<input type="hidden"
id="actionToDo" name="actionToDo"
value="selectedBooks"/>
<input type="button"
id="Prenota" name="Prenota" onclick="submit()"
value="Prenota" />
</div>
</form>
</body>
</html>
почему вы написали onsubmit = "return false" ?? – Alok
На мой взгляд: вы должны просто вызвать функцию отправки, а не по щелчку кнопки, но внутри функции onsubmit, тогда вы вызываете e.preventDefault(), если вы не хотите отправлять форму, и ничего не делаете, если хотите ее обработать , – Beri
попробуйте этот 'onclick =" return submit(); ". а затем верните true или false из вашей функции, хотите ли вы отправить форму или нет. – Adi