我通过在Gigya外部使用html,js和css在右侧使用“ eye”创建了密码字段。单击眼睛即可隐藏/显示密码字段中的文本。
enter image description here
我正在吉佳(Gigya)做同样的事情。但是,问题来了-
1.如果我编辑html文件,将无法再次使用UI Builder。
2. Gigya的RaaS中的Javascript参数不允许我添加js,除非将代码添加到已定义的函数中。
我的问题是-我该如何在Gigya中这样做?
如果我要使用enter image description here所示的复选框代替“ eye”,Gigya如何处理?
最佳答案
您可以将任何自定义css类添加到UI Builder的CSS样式标签中,它位于UI Builder中屏幕左侧列表的底部附近(JavaScript参数附近),然后可以将该类添加到使用字段“属性”窗口(选择该字段时位于UI Builder的右侧)的“ CSS类”字段输入密码字段。
您可以使用JavaScript编辑器在屏幕的onAfterScreenLoad事件中添加自定义JS,它将在绘制屏幕后立即运行。 -另外,您也可以在函数中本地托管页面上的所有自定义JS,然后只需在showScreenSet调用内添加onAfterScreenLoad参数,即
gigya.accounts.showScreenSet({
"screenSet": "Default-RegistrationLogin",
"onAfterScreenLoad": myFunctionName
});
任何HTML更改都会有些困难,但是您可以通过JQuery或其他事件使用相同的事件来进行更改。我可以调查一下,看看还有没有其他方法可以在几天后进行更新。
11月12日,更新了工作示例:
这是一个正常运行的示例,我仅在登录屏幕上这样做,它还需要其他工作才能完全支持注册屏幕:
gigya.accounts.showScreenSet({
"screenSet": "Default-RegistrationLogin",
"onAfterScreenLoad": function() {
var fieldToChange = document.getElementsByName('password')[0];
var newPwDiv = document.createElement('div');
newPwDiv.id = 'passSwitch';
newPwDiv.innerHTML = "-O-"; // change this out with your image
newPwDiv.setAttribute('style', 'float: right !important; color: red !important; z-index: 9999999999999999999 !important; display: block !important; position: absolute; margin: -41 0 0 334; cursor: pointer !important; text-align: center;');
// add eventListener
newPwDiv.addEventListener("click", function() {
var currentValue = fieldToChange.type;
if (currentValue === 'password') {
fieldToChange.type = "text";
} else {
fieldToChange.type = "password"
}
});
// attach to password field
fieldToChange.parentElement.appendChild(newPwDiv);
}
});
11月14日,更新了其他信息
要仅通过UI Builder执行此操作,可以将任何相关的CSS添加到UI Builder的CSS样式选项卡中:
然后,您可以将JavaScript添加到“ JavaScript参数”标签中:
Link to demo
如果您仍然遇到问题,建议您通过Gigya控制台打开支持服务单,我们可以调查您的特定用例。
关于javascript - 如何在Gigya中显示/隐藏密码字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47228898/