首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery ajaxform url参数

jquery ajaxform url参数
EN

Stack Overflow用户
提问于 2011-04-16 01:13:58
回答 3查看 3.9K关注 0票数 0

很抱歉问了这么愚蠢的问题。

我需要计算一个ajaxForm()的"url“参数...

我写的东西是这样的。

代码语言:javascript
复制
$('#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只接受字符串:-(

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-16 01:36:15

我觉得你在这方面不走运。听起来您想要根据表单的某个元素的值来更改表单的目标;只有在ajaxForm绑定到表单之后,才能知道有问题的值,所以贾斯汀的技巧将不起作用。

您可以使用beforeSubmitbeforeSerialize挂钩来更改API,但是一旦绑定了ajaxForm,就不能用它来更改ajaxForm。所以,这些钩子对你没有任何用处。

您可以尝试向表单添加一个提交处理程序;该处理程序将检查#form-domanda input[name=domanda_id]的值,然后将适当的ajaxForm绑定到#form-domanda,并在绑定ajaxForm之后调用$('#form-domanda').ajaxSubmit()。这可能行得通,也可能行不通,坦率地说,这是一个小技巧。

我认为您最好将domanda_id逻辑转移到服务器上,无论是在url-1.cfm中还是在最初生成#form-domanda的任何地方。

票数 1
EN

Stack Overflow用户

发布于 2011-04-16 01:18:07

尝试这样,立即调用该函数:

代码语言:javascript
复制
$('#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"
    }()
}
}); 
票数 1
EN

Stack Overflow用户

发布于 2012-10-31 02:18:04

作为参考,这个方法适用于我:

代码语言:javascript
复制
$('#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";
        }
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5680149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档