很抱歉问了这么愚蠢的问题。
我需要计算一个ajaxForm()的"url“参数...
我写的东西是这样的。
$('#form-domanda').ajaxForm({
url: function() {
id = $('#form-domanda input[name=domanda_id]').val()
if (id > 0) {
return "url-1.cfm"
} else {
return "url-2.cfm"
}
}
}); 但是url只接受字符串:-(
我该怎么做呢?
发布于 2011-04-16 01:36:15
我觉得你在这方面不走运。听起来您想要根据表单的某个元素的值来更改表单的目标;只有在ajaxForm绑定到表单之后,才能知道有问题的值,所以贾斯汀的技巧将不起作用。
您可以使用beforeSubmit或beforeSerialize挂钩来更改API,但是一旦绑定了ajaxForm,就不能用它来更改ajaxForm。所以,这些钩子对你没有任何用处。
您可以尝试向表单添加一个提交处理程序;该处理程序将检查#form-domanda input[name=domanda_id]的值,然后将适当的ajaxForm绑定到#form-domanda,并在绑定ajaxForm之后调用$('#form-domanda').ajaxSubmit()。这可能行得通,也可能行不通,坦率地说,这是一个小技巧。
我认为您最好将domanda_id逻辑转移到服务器上,无论是在url-1.cfm中还是在最初生成#form-domanda的任何地方。
发布于 2011-04-16 01:18:07
尝试这样,立即调用该函数:
$('#form-domanda').ajaxForm({
url: function() {
id = $('#form-domanda input[name=domanda_id]').val()
if (id > 0) {
return "url-1.cfm"
} else {
return "url-2.cfm"
}()
}
}); 发布于 2012-10-31 02:18:04
作为参考,这个方法适用于我:
$('#form-domanda').ajaxForm({
beforeSubmit: function(data, form, options) {
id = form.find('input[name=domanda_id]').val();
if (id > 0) {
options["url"] = "url-1.cfm";
} else {
options["url"] = "url-2.cfm";
}
}
});https://stackoverflow.com/questions/5680149
复制相似问题