Кнопка отправки сообщения jquery ajax call click
Я должен создать ajax-вызов, когда пользователь нажимает кнопку отправки, поэтому я включил jquery, и я написал следующий код (взятый из документации jquery):
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function(){
$("Shareitem").click(function(e){
e.preventDefault();
$.ajax({type: "POST",
url: "/imball-reagens/public/shareitem",
data: { id: $("Shareitem").val(), access_token: $("access_token").val() },
success:function(result){
$("sharelink").html(result);
}});
});
});
</script>
Html:
<div id="sharelink"></div>
[...]
<input type="hidden" name="id" value="" id="id"></dd>
<dd id="access_token-element">
<input type="hidden" name="access_token" value="xxxxxxxx" id="access_token"></dd>
<dt id="Shareitem-label"> </dt><dd id="Shareitem-element">
<input type="submit" name="Shareitem" id="Shareitem" value="UpdatedByPreviousAjaxCall"></dd></dl></form>
Проблема заключается в следующем: выполняется действие отправки, но вызов ajax отсутствует, поэтому форма выполняет запрошенное действие отправки вместо того, чтобы оставаться на одной странице и обновлять содержимое требуемого "div".
Что мне не хватает? Где я ошибаюсь?
Заранее благодарим за любой отзыв.
Ответы
Ответ 1
Вы не добавили #
перед идентификатором кнопки. У вас нет правильного селектора в вашем jquery-коде. Поэтому jquery никогда не выполняется при нажатии кнопки. он отправил вашу форму напрямую, не передавая какой-либо запрос ajax.
См. документацию: http://api.jquery.com/category/selectors/
его твой друг.
Попробуйте следующее:
Кажется, что id: $("#Shareitem").val()
неверно, если вы хотите передать значение
<input type="hidden" name="id" value="" id="id">
вам нужно изменить эту строку:
id: $("#Shareitem").val()
id: $("#id").val()
Все вместе:
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function(){
$("#Shareitem").click(function(e){
e.preventDefault();
$.ajax({type: "POST",
url: "/imball-reagens/public/shareitem",
data: { id: $("#Shareitem").val(), access_token: $("#access_token").val() },
success:function(result){
$("#sharelink").html(result);
}});
});
});
</script>