我在php中使用jquery进行ajax调用,并且我得到了相同的结果,但是在结果的(响应)HTML中我有一个表单在单击提交按钮后没有提交。我没有得到同样的任何错误。 另外,我想在不使用Ajax的情况下提交此响应HTML表单。 请帮我解决这个问题。
Ajax响应:
<form method=\"post\" id=\"clientlist\" action=\"addclients.php\">
//inputs fileds...
</form>
Ajax Call:
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j(".linktext").click(function(){
//check which link is tobe click e.g. Prev or Next
var link = $j(this).html();
var limit = 1;
if(link == 'Prev'){
limit = document.getElementById('text_prev').value;
}else if(link =='Next'){
limit = document.getElementById('text_next').value;
}
$j.ajax({
type: "POST",
data: $j("#clientlist").serialize(),
url: "agencyclients_ajax.php?start="+limit,
success: function(response) {
$j('#mainbody').html(response);
}
});
});
答案 0 :(得分:0)
请使用表单的SUBMIT事件。 当您单击提交时,只需执行ajax调用,然后返回false以确保不以正常方式提交表单。
目前您正在使用链接点击事件//not encouraged.
对于jquery没有冲突,请使用以下代码:
(function($){
$(function(){
//$ can be used in this area without any conflict, provided by jQuery Docs for creating a plugin
});
})(jQuery);
答案 1 :(得分:0)
将ajax响应更改为:
<form method="post" id="clientlist" action="addclients.php">
//inputs fileds...
</form>
删除斜杠。
答案 2 :(得分:0)
这是因为事件处理程序在重新加载后不会添加到“.linktext”。
您可以使用JQuery On函数,以便在DOM更改时重新应用事件处理程序。
$j(".linktext").click(function(){
变为
$j(".linktext").on("click", function(event){
答案 3 :(得分:0)
这是一个例子。将$('#submit')替换为您的提交按钮ID。
$('#submit').click(function(){
$.ajax({
type:'POST',
url: '/search.php',
data: $j("#clientlist").serialize(),
success: function(data){
alert('sent');
}
});
return false;
});