Pomoc dotycząca żądań jquery/ajax
Mam na stronie 2 formularze, które muszę przesłać i pozostać na tej samej stronie. Pierwszy formularz działa dobrze, ale drugi formularz przejdzie do strony admin-ajax.php.
Pierwszy formularz/żądanie jQuery i Ajax
Jak mówiłem, ta część działa dobrze.
<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" id="commentform" class="commentform">
<textarea name="comment" id="comment" class="commentbox" rows="5" cols="150" required></textarea><br />
<input type="hidden" name="eventid" id="eventid" value="<?php echo $id; ?>" />
<input type="hidden" name="userid" id="userid" value="<?php echo $userid; ?>" />
<input type="hidden" name="action" value="commentform">
<button class="commentbtn">Add Comment</button>
</form>
$('.commentform').submit(function (e) {
e.preventDefault();
var commentform = $('.commentform');
$.ajax({
url: commentform.attr('action'),
data: commentform.serialize(), // form data
type: commentform.attr('method'), // POST
beforeSend: function (xhr) {
commentform.find('button').text('Processing...');
},
success: function (data) {
commentform.find('button').text('Add Comment');
$(".commentform")[0].reset();
$('#response').html(data); // insert data
}
});
return false;
});
Pierwszy formularz/żądanie jQuery i Ajax
Ten formularz przeniesie mnie na stronę admin-ajax.php. (przynajmniej przetwarza dane, po prostu nie pozostaje na bieżącej stronie)
<form action=" method="POST" id="replyform19" class="replyform">
<textarea name="reply" class="commentbox" rows="5" cols="150"></textarea>
<input name="eventid" type="hidden" value="1"><input name="userid" type="hidden" value="1">
<input name="parentid" type="hidden" value="19"><input name="action" type="hidden" value="replyform">
<button class="newreplybtn" id="newreplybtn19">Reply</button>
<button class="cancelbtn" id="cancelbtn19" value="19">Cancel</button>
</form>
$('.replyform').submit(function (e) {
e.preventDefault();
var replyform = $('.replyform');
$.ajax({
url: replyform.attr('action'),
data: replyform.serialize(), // form data
type: replyform.attr('method'), // POST
beforeSend: function (xhr) {
replyform.find('button').text('Processing...');
},
success: function (data) {
$('#response').html(data); // insert data
}
});
return false;
});