Я пробовал различные комбинации типа ввода, но как я могу ввести сообщение, не испортив изображение? Целью было обновление таблицы без обновления страницы. Чтобы быть более конкретным, когда я щелкнул изображение, он должен обновить таблицу сбоку страницы. Для многих из учебников там я видел, как люди использовали только для onclick для вызова функций ajax. Есть ли хороший пример того, что я могу сделать для кнопки изображения вместо простой кнопки?AJAX с кнопкой изображения
Например:
<form name="bakery" action="TestMartController" method="post" >
<input type="hidden" name="action" value="dairy">
<input type="image" src="<%=request.getContextPath()%>/css/categories/dairy.jpg" onclick="loadXMLDoc">
В таблице я хочу обновить,
<div id="refresh">
<table class="rightTable" border="1" width="70%">
<tr>
<th>Photo</th>
<th>Product and Description</th>
<th>Price</th>
<th>Orders</th>
<th>Quantity</th>
<th>Edit Quantity</th>
<th>Add Item </th>
</tr>
<c:forEach var="b" items="${bakery}">
...
</c:forEach>
</table>
</div>
Javascript файл
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200){
document.getElementById("refresh").innerHTML = xmlhttp.responseText;
}
else if(xmlhttp.status == 400) {
alert('There was an error 400');
}
else {
alert('something else other than 200 was returned');
}
}
};
xmlhttp.open("POST", "bakery.jsp", true);
xmlhttp.send();
}
Для новых программистов JS, которые хотят выполнять вызовы AJAX, я бы рекомендовал использовать JS-библиотеку (например, JQuery) для ускорения кривой обучения. Есть много ошибок, проблем, обходных решений, которые уже исправлены этими библиотеками, и вам не нужно беспокоиться о том, что один из них мешает вашему прогрессу. – ochi