Пользовательское событие JavaScript происходит в цикле после нажатия кнопки отправки
Для пользовательского события JS после нажатия кнопки отправки на втором экране прогрессивного профилированияevent==='afterSubmit'
, все это событие повторяется снова и снова, пока я не закрою его. я использую e.stopImmediatePropagation();
чтобы остановить это событие, но это не работает какие-либо советы?
1 ответ
Я вижу одну вещь: поскольку вы используете событие afterSubmit и вызываете внутри него account.showScreenSet, каждый раз, когда вы нажимаете submit на новом экране, оно, в свою очередь, вызывает событие снова. Это, вероятно, нежелательное поведение.
Во-вторых, лучше запускать экран, только если проверяемое поле пустое, а не полное. Теперь это означает, что экран всегда будет срабатывать, если пользователь уже заполнил поле.
Вы можете попробовать это:
if (e.eventName === 'afterSubmit') {
alert('afterSubmit Fired');
if (typeof (e.profile.zip) !== 'undefined') {
if ((e.profile.zip == '') || (e.profile.zip == null)) {
alert('Yo 2nd step..');
alert('Zip is empty, please fill out your zipcode on the next screen');
gigya.accounts.showScreenSet({
screenSet: 'New-RegistrationLogin',
startScreen: 'Bio'
});
}
}
}
Кроме того, при добавлении дополнительной информации в профиль существующего пользователя рекомендуется использовать экран в наборе экранов ProfileUpdate, а не в наборе экранов RegistrationLogin.