相关疑难解决方法(0)

使用JavaScript/jQuery更改表单的操作

我有一个让我发疯的问题.我正在尝试修改openid-selector以支持facebook.我正在使用RPXNow作为我的提供者,因此它要求将表单提交给与标准不同的URL.

例如.RpxNow要求我像这样设置我的表单:

<form action="https://wikipediamaze.rpxnow.com/openid/start?token_url=...">

这适用于除Facebook和Myspace之外的所有提供商.那些需要将表单发布到不同的URL,如下所示:

<form action="https://wikipediamaze.rpxnow.com/facebook/start?token_url=...">

<form action="https://wikipediamaze.rpxnow.com/myspace/start?token_url=...">

open id选择器在表单上有一堆按钮,每个按钮代表openid提供程序.我要做的是检测点击Facebook或Myspace按钮的时间,并在提交前更改表单上的操作.然而,它不起作用.这是我的代码.

我尝试了几种具有相同"不支持"异常的变体

$("#openid_form").attr("action", form_url)
document.forms[0].action = form_url
Run Code Online (Sandbox Code Playgroud)

有什么建议?

更新

以下是有关代码的更多详细信息.为简洁起见,我省略了一些.我唯一做的是将Facebook部分添加到"providers_large"对象(成功地将徽标添加到网站),而不是提供识别用户的URL,我正在创建一个名为"form_url"的属性,是我想要设置我的表单的动作.如果您查看标题"提供者图像点击",您将看到我在哪里检查属性"form_url"的存在,并使用jQuery更改操作并提交表单.但是,当我在调试模式中单步执行JavaScript时,它告诉我这是一个无效的操作.

var providers_large = {
    google: {
        name: 'Google',
        url: 'https://www.google.com/accounts/o8/id'
    },
    facebook: {
        name: 'Facebook',
        form_url: 'http://wikipediamaze.rpxnow.com/facebook/start?token_url=http://www.wikipediamaze.com/Accounts/Logon'
    },

};
var providers_small = {
    myopenid: {
        name: 'MyOpenID',
        label: 'Enter your MyOpenID username.',
        url: 'http://{username}.myopenid.com/'
    },
    livejournal: {
        name: 'LiveJournal',
        label: 'Enter your Livejournal username.',
        url: 'http://{username}.livejournal.com/'
    },
    flickr: {
        name: 'Flickr',        
        label: 'Enter your Flickr username.',
        url: 'http://flickr.com/{username}/'
    }, …
Run Code Online (Sandbox Code Playgroud)

openid jquery openid-selector

62
推荐指数
3
解决办法
20万
查看次数

标签 统计

jquery ×1

openid ×1

openid-selector ×1