У меня есть некоторые ссылки, которые я хочу изменить POST onclick. Я могу выполнить это с помощью формы, но я хочу использовать short-hand jQuery.
Прямо сейчас, я получаю тупик с синтаксисом jQuery. Я знаю, что хочу сделать что-то вроде этого:
<a href="#" onclick="$(this).load('purchase/credits', 'package=3')">Test</a>
Но это загружает "покупку/кредит" в теге <a>
.
Итак, я подумал что-то вроде этого...
<a href="#" onclick="$(this).post('purchase/credits', 'package=3')">Test</a>
Но это не работает.
Нужно ли делать теги формы, например?
<form action="purchase/credits" method="post">
<input name="credits" value="3" type="hidden" />
<submit>
</form>
Я использую PHP, jQuery, Apache.
Синтаксис неверен, используя функцию $.post
utility:
$.post('purchase/credits', { package: 3 }, function(responseData) {
// ...
}).fail(function() {
// failed
});
http://api.jquery.com/jQuery.post/
Поскольку вы используете jQuery, вы можете использовать метод jQuery .on()
вместо атрибута onclick
:
<a href="#" class='className' data-package="1">Test</a>
<a href="#" class='className' data-package="2">Test</a>
jQuery(document).ready(function($) {
$('.className').on('click', function(e) {
e.preventDefault();
$.post('purchase/credits', { package: $(this).data('package') })
.done(function(responseData) {
// ...
}).fail(function() {
// failed
});
});
});