Javascript 捕获所有链接,包括表单提交
我想知道如何使用jQuery捕获页面上的所有链接。这个想法类似于Facebook。在Facebook中,如果你点击一个链接,它会捕获该链接并使用ajax加载相同的链接。只有当你在新标签页等打开一个链接时,它才会使用常规调用加载页面 关于如何实现这种功能有什么线索吗?我确信捕获链接不应该是个问题,但是捕获表单提交,然后通过ajax提交整个数据,然后显示结果呢 有没有已经存在的插件 感谢您的时间。可以将常规表单转换为Ajax表单:Javascript 捕获所有链接,包括表单提交,javascript,jquery,Javascript,Jquery,我想知道如何使用jQuery捕获页面上的所有链接。这个想法类似于Facebook。在Facebook中,如果你点击一个链接,它会捕获该链接并使用ajax加载相同的链接。只有当你在新标签页等打开一个链接时,它才会使用常规调用加载页面 关于如何实现这种功能有什么线索吗?我确信捕获链接不应该是个问题,但是捕获表单提交,然后通过ajax提交整个数据,然后显示结果呢 有没有已经存在的插件 感谢您的时间。可以将常规表单转换为Ajax表单: $("#myForm").ajaxForm( {beforeS
$("#myForm").ajaxForm(
{beforeSubmit: validate, success: showResponse} );
然而,对于一个任意的形式,要想做你想做的事情是很困难的。如果表单首先使用验证或由Ajax提交,该怎么办?同样的事情也适用于链接。如果有一些javascript导航脚本(window.location=Url),该怎么办?如果您不能完全控制页面,则很难完成您想要的操作。可以将常规表单转换为Ajax表单:
$("#myForm").ajaxForm(
{beforeSubmit: validate, success: showResponse} );
然而,对于一个任意的形式,要想做你想做的事情是很困难的。如果表单首先使用验证或由Ajax提交,该怎么办?同样的事情也适用于链接。如果有一些javascript导航脚本(window.location=Url),该怎么办?如果你不能完全控制页面,那么你就很难做你想做的事情。通常像facebook这样的页面,会对每个事件和每个表单分别编码,因为服务器端文件通常是为每个操作/操作组设置的。我怀疑是否会有一个干净的方法来转换一个只有插件的页面。如果是的话,我会看到很多开销 您可以手工完成,但这也是Ajax的滥用。这不是flash,在所有服务器通信中使用ajax会遇到很多问题
- 缺乏历史跟踪
- 注意并发事件及其结果
- 向用户传达页面正在更改
- 关闭javascript的用户
- 还有更多
- 缺乏历史跟踪
- 注意并发事件及其结果
- 向用户传达页面正在更改
- 关闭javascript的用户
- 还有更多
- 亚历克
你绝对可以做到
我有一张表格就是这样处理的。它使用上面提到的jquery表单插件kgiannakakis。下面的javascript示例展示了它的工作原理
$("form").ajaxForm({
beforeSubmit: function(){
//optional: startup a throbber to indicate form is being processed
var _valid = true;
var _msg = '';
//optional: validation code goes here. Example below checks all input
//elements with rel attribute set to required to make sure they are not empty
$(":input [rel='required']").each(function(i){
if (this.value == '') {
_valid = false;
_msg += this.name + " may not be empty.\n";
$(this).addClass("error");
}
});
alert(_msg);
return _valid;
},
success: function(response){
//success here means that the HTTP response code indicated success
//process response: example assumes JSON response
$("body").prepend('<div id="message" class="' + response.status + '"></div>');
$("#message").text(response.message).fadeIn("slow", function(){
$(this).fadeOut("slow").remove();
});
}
});
$(“表单”).ajaxForm({
提交之前:函数(){
//可选:启动一个跳动器以指示表单正在处理
var _valid=true;
var_msg='';
//可选:此处显示验证代码。下面的示例检查所有输入
//rel属性设置为必需的元素,以确保它们不是空的
$(“:input[rel='required'])。每个(函数(i){
如果(this.value=''){
_有效=错误;
_msg+=this.name+“不能为空。\n”;
$(this.addClass(“错误”);
}
});
警报(_msg);
返回有效;
},
成功:功能(响应){
//这里的success表示HTTP响应代码表示成功
//流程响应:示例假设JSON响应
$(“正文”)。前缀(“”);
$(“#message”).text(response.message).fadeIn(“slow”,function(){
$(this.fadeOut(“slow”).remove();
});
}
});
Alec
你绝对可以做到
我有一张表格就是这样处理的。它使用上面提到的jquery表单插件kgiannakakis。下面的javascript示例展示了它的工作原理
$("form").ajaxForm({
beforeSubmit: function(){
//optional: startup a throbber to indicate form is being processed
var _valid = true;
var _msg = '';
//optional: validation code goes here. Example below checks all input
//elements with rel attribute set to required to make sure they are not empty
$(":input [rel='required']").each(function(i){
if (this.value == '') {
_valid = false;
_msg += this.name + " may not be empty.\n";
$(this).addClass("error");
}
});
alert(_msg);
return _valid;
},
success: function(response){
//success here means that the HTTP response code indicated success
//process response: example assumes JSON response
$("body").prepend('<div id="message" class="' + response.status + '"></div>');
$("#message").text(response.message).fadeIn("slow", function(){
$(this).fadeOut("slow").remove();
});
}
});
$(“表单”).ajaxForm({
提交之前:函数(){
//可选:启动一个跳动器以指示表单正在处理
var _valid=true;
var_msg='';
//可选:此处显示验证代码。下面的示例检查所有输入
//rel属性设置为必需的元素,以确保它们不是空的
$(“:input[rel='required'])。每个(函数(i){
如果(this.value=''){
_有效=错误;
_msg+=this.name+“不能为空。\n”;
$(this.addClass(“错误”);
}
});
警报(_msg);
返回有效;
},
成功:功能(响应){
//这里的success表示HTTP响应代码表示成功
//流程响应:示例假设JSON响应
$(“正文”)。前缀(“”);
$(“#message”).text(response.message).fadeIn(“slow”,function(){
$(this.fadeOut(“slow”).remove();
});
}
});
我可以控制页面。但我无论如何都不想修改中的页面。我想无缝地添加一个jquery插件,它可以自动完成所有事情。我可以控制页面。但我无论如何都不想修改中的页面。我想无缝地添加一个jquery插件,它可以自动完成所有事情。