jQuery的如何发布/ AJAX加载的load()函数而无需刷新页面
问题描述:
我决定要加载的网址与jQuery和AJAX的内容div的内容的页面上,是相当简单的使用.load做的() ;jQuery的如何发布/ AJAX加载的load()函数而无需刷新页面
作品真的很好,是刺骨的地狱。现在我正在查看这些内容,并意识到它有多种形式,在提交时不会在我制作的内容div中提交。
我能想到简化这一过程的唯一方法是制定一个肮脏的伟大的大JS文件动态地处理每个表单提交。
考虑有在此应用程序我试图想提交表单,而不内容专区内重新加载页面的一个很好的方式有多种形式,但至少保持某种结构的文件后面。
任何建议将非常欢迎。
由于我在一个基层做什么的想法来看看下面的代码片段。
$(document).ready(function(){
$('a').bind('click', function(e) {
$("#content").html('<img src="images/ajax-loader-small.gif">');
var url = $(this).attr('href');
$('#content').load(url); // load the html response into a DOM element
e.preventDefault(); // stop the browser from following the link
});
});
答
$.ajax(), $.post(), $.get(), $.postJSON(), $getJSON()
是在这种情况下,我认为你的友好功能。 什么你基本上会做的是创建一个点击功能为您的表单现有的提交按钮..
$('#mysubmitbutton').live('click', function(e)
{
e.preventDefault();
$.post('url/to/post/data', $('#form').serialize(), function(data)
{
alert('post made');
}, 'json');
});
现在当然,如果你想让它,比如它得到了更多细致的东西,如果我的领域是空白的,什么如果PHP的错误,如果一切都好,我想现在发送到一个新的页面或清除字段等等。所有这些都是可能的与这些功能,但涵盖一切将需要很长时间,这个概念只是为了给你一个大门,我们总是乐意在这里进一步帮助你,当你从上面的列表/示例中遇到与选择功能有关的任何问题时。
感谢您回复克里斯 - 我在想什么化合物。我最担心的是创建一个统一的方法来处理这些表单提交的问题,比如说50个左右的表单将会很艰难。我不想通过处理客户端和服务器端来为项目增加太多的额外工作。 – David 2012-08-06 19:33:08
虽然上面是尽可能压缩它的一种方法,但在每个表单的基础上总会有需要做某些事情。我的建议是至少为每个提交按钮创建一个唯一的标识符,然后打包一个JS文件,其中包含与上面类似的内容,用于需要特别注意的表单。然后将这个特定的javascript文件包含在所有具有表单的视图中,这样至少可以让你的不是正在运行的各种文件的圆圈在这里和每个地方改变一些东西。它至少会被整合到一个文件中。 – chris 2012-08-06 20:04:44
我曾为几家大型企业工作过,既可以构建内部应用程序(SaaS产品),也可以构建基于Web的应用程序,这通常是如何在某种程度上完成的。只是说,所以你不觉得超级义务有一些超级精简的代码来运行一个函数的所有内容。正如有些人会让你相信是实现它的唯一方法,授予它,如果你计划一些正确的功能,你可以做出一些很好的可重用的东西,可以扩展许多应用程序,但有时候,会说不太理想。 – chris 2012-08-06 20:07:18