Car*_*ham 1 javascript jquery post callback
我已经设置了一些自动表单提交代码.基本上,当提交表单时,javascript会处理它,查找所有输入等,并通过ajax将数据发送到表单的action attr.
$j('body').delegate('form', 'submit', function(e) {
e.preventDefault();
if($j(this).prop('data-callback', true))
asf.forms.processForm($j(this).attr('name'), $j(this).attr('data-callback'));
else
asf.forms.processForm($j(this).attr('name'));
});
Run Code Online (Sandbox Code Playgroud)
但我需要包括回调.我需要使代码全局化,因此我无法为每个表单编写任何细节.所以我想添加一个带回调函数名的属性,如下所示:
<form action="" method="" data-callback="posts.addPost()">
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何在javascript中触发该函数.有任何想法吗?我不能使用onsubmit,因为我需要访问所有表单信息,这意味着在ajax响应中执行此回调.
谢谢
Krz*_*tof 10
我知道eval是邪恶的,但它似乎只是合理的解决方案:
eval($(form).attr('data-callback'));
Run Code Online (Sandbox Code Playgroud)
如果在data-callback属性中只放置方法名称(例如data-callback="posts.addPost"),则可以在没有eval的情况下调用它:
var methodName = $(form).attr('data-callback');
var parts = methodName.split('.');
var method = window;
$(parts).each(function(){
method = method[this];
});
method();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |