在 Gigya 中,无法在屏幕集 ID "Default-LinkAccounts" 中的屏幕 "Forget Password" 的 "email" 中设置属性

in Gigya, Unable to set attribute in "email" of Screen "Forget Password" in Screen-sets ID "Default-LinkAccounts"

我在 Gigya 中实现了以下 js JavaScript 参数:

onAfterScreenLoad:函数(事件){

    if ((ell = document.querySelector("#gigya-forgot-password-screen input[type=text][name=loginID]")) != null){
        ell.setAttribute('type', 'email');
        ell.setAttribute('placeholder', 'user@example.com'); 
        ell.setAttribute('autocomplete', 'off'); 
    }
},

我可以使用上面的代码来处理所有其他屏幕设置的字段,除了这个 "Forget Password" 屏幕(即屏幕 ID:gigya-forgot-password-screen)在屏幕设置 ID "Default-LinkAccounts"。 看起来忘记密码流程是在没有用户会话的情况下触发的,并且独立于传递到登录屏幕上电子邮件字段的信息。 如果是,那么如何实现。

字段名称似乎因您使用的屏幕而异:

window.ell = document.querySelector("#gigya-register-screen input[type=text][name=email]");

window.ell = document.querySelector("#gigya-login-screen input[type=text][name=username]");

window.ell = document.querySelector("#gigya-forgot-password-screen input[type=text][name=username]");

所以:

onAfterScreenLoad: function(event) {
    var ell = null;
    if ((event.currentScreen === "gigya-forgot-password-screen") || (event.currentScreen === "gigya-login-screen")) {
        ell = document.querySelector("#" + event.currentScreen + " input[type=text][name=username]");
    } else if (event.currentScreen === "gigya-register-screen") {
        ell = document.querySelector("#gigya-register-screen input[type=text][name=email]");
    }
    if (ell != null){       
        ell.setAttribute('type', 'email');
        ell.setAttribute('placeholder', 'user@example.com'); 
        ell.setAttribute('autocomplete', 'off'); 
    }
}