我的网站有一个Sweetalert提示,一旦他们登录就会询问用户的姓名。适用于Chrome,Safari,Edge和IE11(尚未测试IE 10),但在IE9上我收到此错误...
SCRIPT5007:无法设置属性的值' oninput&#39 ;: object is null或undefined
最初的ajax调用正在运行,Sweetalert返回正确的值,询问他们的名字是否发生。如果我删除Sweetalert并在if语句中包含ajax调用,则用户可以成功登录。
if(logged_in === '0' || active === 'no'){
swal({
title: 'Please enter your name',
type: 'question',
text: 'This is to inform other users of your account who is currently logged into it',
input: 'text',
showCancelButton: true,
inputValidator: function (value) {
return new Promise(function (resolve, reject) {
if (value) {
resolve();
} else {
reject('Please enter your name');
}
});
}
}).then(function (result) {
$.ajax({
url: 'ajax/common_ajax.php',
type: 'POST',
dataType: 'json',
data: 'action=login&user='+userID+'&session='+session+'&name='+result,
success: function(response) {
if (response.result === 'success'){
window.location.replace(response.lastPage);
}
}
});
});
}
调试器选择的行是swal({
我怀疑问题是我所包含的Promise
..
<script src="https://cdnjs.cloudflare.com/ajax/libs/core-js/2.4.1/core.js"></script>
<script src="js/sweetalert2.min.js"></script>
我知道通过初始if语句传递的值logged_in
和active
是正确的,但我不知道从哪里开始。我非常喜欢告诉用户更新他们的浏览器,但问题是我的用户群很多工作对于那些不允许用户更新他们自己的系统等的企业而言,这不是一个选择。 / p>