Javascript 删除重定向页面中存在的元素的“禁用”

Javascript 删除重定向页面中存在的元素的“禁用”,javascript,jquery,html,facebook,Javascript,Jquery,Html,Facebook,登录后,我将用户从a.html重定向到b.html页面。在b.html页面上有一个文件选择按钮选择带有禁用属性的图像,我只想在FB登录后启用它。下面是我的代码 function fblogin(){ FB.login(function(response) { if (response.status == 'connected') { login(); } else {

登录后,我将用户从a.html重定向到b.html页面。在b.html页面上有一个文件选择按钮选择带有禁用属性的图像,我只想在FB登录后启用它。下面是我的代码

function fblogin(){
    FB.login(function(response) {
        if (response.status == 'connected') {
            login();            
        } else {                
            //window.location.reload();
        }
    }, {scope:'email,publish_stream'});
    return false;
}
function login() {
    window.location = "b.html";             
    document.getElementById('uploadbtn').removeAttribute('disabled');
    document.getElementById("genPNG").attr('disabled','enabled');    
    document.getElementById("genJPG").removeAttribute('disabled');       
}
上面的代码没有运气,所以我把

document.getElementById('uploadbtn').removeAttribute('disabled');
document.getElementById("genPNG").attr('disabled','enabled');    
document.getElementById("genJPG").removeAttribute('disabled'); 
在b.html页面上。我怎样才能让它按我想要的方式工作?非常感谢您的帮助。
提前感谢。

您正在普通JS DOM节点上使用jQuery方法,但是removeAttribute应该可以工作吗?它应该是:

$('#uploadbtn').prop('disabled', false);
请注意,这必须添加到b.html中,因为一旦您离开页面,javascript就有点晚了,它在下一页上什么都不做?

使用.prop'disabled',false或.prop'disabled',true

从jQuery.prop setter:

.prop方法是设置 属性,尤其是在使用值设置多个属性时 由函数返回,或同时在多个元素上设置值 一旦设置selectedIndex、tagName、nodeName、, 节点类型、ownerDocument、defaultChecked或defaultSelected。自从 在jQuery 1.6中,不能再使用.attr设置这些属性 方法它们没有相应的属性,只是 财产

属性通常会影响DOM元素的动态状态,而不会 更改序列化的HTML属性。例子包括价值 输入元素的属性、输入的禁用属性和 按钮,或复选框的已选中属性。道具法 应用于设置禁用和选中,而不是.attr 方法应使用.val方法获取和设置 价值观


使用.prop'disabled',false或.prop'disabled',true从函数登录的代码A将页面更改为b.html。这会告诉我,您的删除属性代码应该在b.html中,而不是指向b.html的页面。如果您要重定向到b.html,为什么不在默认情况下保持b.html中的字段处于启用状态?为什么要从javascript中删除它?@ArvindSridharan,因为我希望只有在登录后才能启用这些功能。这是一个纯HTML5页面,有没有其他方法可以做到这一点?如果用户在a页面上使用facebook登录,那么该用户也将在B页面上登录,因此只需添加一个脚本来检查登录状态并相应地设置disabled属性这是一个非常通用的答案。请具体回答这个问题,然后参考一般文档。把头伸出来,我的回答比你更完整。