#javascript #html #function
#javascript #HTML #функция
Вопрос:
Я перепробовал все разные пути к файлам, чтобы попытаться получить доступ к helperFunctions.js файл, но, похоже, ничего не работает. Каждый раз, когда я нажимаю кнопку зарегистрировать пользователя, он говорит, что функция, которую я вызываю, не существует / не является функцией. Это означает, что helperFunctions.js доступ к файлу не осуществляется.
Html-часть, которая добавляет путь к файлу и вызывает функцию из helperFunctions.js .
<body>
//other important core js files
<script src="./js/helperFunctions.js" type="text/javascript"></script>
</body>
<script>
$(document).ready(function(){
$('#registerUser').click(function() {
// call API to register user
registerUser();
});
});
</script>
HelperFunctions.js файл и функция
function registerUser()
{
console.log('step 1');
//document.getElementById('label-error').style.display="none";
//document.getElementById('label-mismatch').style.display="none";
//document.getElementById('label-passwordsyntax').style.display="none";
var userID = document.getElementById('email').value;
var pwd = document.getElementById('password').value;
var re_password = document.getElementById('repassword').value;
var fname = document.getElementById('firstName').value;
var lname = document.getElementById('lastName').value;
console.log('step 1.1');
if ((userID=='') || (pwd=='') || (re_password=='') || (fname=='') || (lname=='')) || (re_password==''))
return false;
var passw= /^[A-Za-z]w{7,14}$/;
if (pwd.match(passw) == null)
{
//document.getElementById('label-passwordsyntax').style.display="inline";
return false;
}
console.log('step 2');
if (pwd != re_password)
{
alert(pwd "|" re_password);
document.getElementById('label-mismatch').style.display="inline";
return false;
}
*/
var postObj = {
email: userID,
Pwd: pwd,
rePwd: re_password,
firstName: fname,
lastName: lname
};
console.log('step 3');
var req = new XMLHttpRequest();
req.open('POST', 'https://localhost:44303/api/JSON/registerUser', true);
req.setRequestHeader('Content-Type', 'application/json');
req.onreadystatechange = function() { // Call a function when the state changes.
if (this.readyState === XMLHttpRequest.DONE amp;amp; this.status === 200) {
if (req.response=="-1")
alert('user already exists');
//document.getElementById('label-error').style.display="inline";
if (req.response=="1")
alert('user created successfully');
//location.href='login.html?action=success';
}
}
console.log('step 4');
req.send(JSON.stringify(postObj));
console.log('step 5');
return false;
}
Комментарии:
1. сколько шагов выполняется, а также где вызывается эта функция
functionName
?2. Никакие шаги не выполняются, потому что он даже не распознает функцию, вот почему я думаю, что он даже не достигает helperFunction.js досье. Также functionName = registerUser() .
3. именно поэтому это не сработает … если у меня есть
function a(){return 1}
, а потом я говорюlet x=a()
,a==1
иa is not a function
4. но кем ТЫ хочешь
functionName
быть5. Ну, во-первых, во фрагменте, который я вижу неправильно
*/
использованным прямо передpostObj
этим, его следует удалить. Во-вторых(lname==''))
, имеет две закрывающие круглые скобки)
, одна из которых должна быть удалена. Могут быть ошибки такого рода?