У меня странная проблема, я следил за обучением на YouTube из Мэтт Благден в своем стремлении изучить MVC3 .Net, пока что все было хорошо, но на его 4 видео после 13мин, он создает следующий javascript:
function getPasswordHash(passwordElement, nonceElement, hashElement)
{
var password = ('#' + passwordElement).attr('value');
var nonce = ('#' + nonceElement).attr('value');
$('#' + hashElement).attr('value', $sha256(password + nonce));
$('#' + passwordElement).attr('value', '');
}
Мои знания javascript / jquery действительно базовые, но для меня это имеет смысл, проблема в том, что java-скрипт не будет выполняться, а консоль javascript сохранитвыдаёт мне следующую ошибку:
"Uncaught TypeError: Object #password не имеет метода 'attr' getPasswordHashLogin.js: 3 (анонимная функция) Логин: 43 onclick"
Это мой код просмотра:
@model string
@{
ViewBag.Title = "Login";
}
@section ExtraHeaders
{
<script type="text/javascript" src="@Url.Content("~/Scripts/Login.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/SHA256.js")"></script>
}
<form action="@Href("~/Account/Login")" method="post" id="loginForm">
Name:
<input type="text" name="name" id="name" />
<br />
Password:
<input type="password" name="password" id="password" />
<input type="hidden" name="nonce" value="@Model" id="nonce" />
<input type="hidden" name="hash" value="hash" id="hash" />
<input type="button" name="submit" onclick="getPasswordHash('password', 'nonce', 'hash'); $('#loginForm').submit();"
value="Login" />
</form>
¿Что я делаю не так? Я не могу сказать, в чем проблема, и это меня бесит: @.
РЕДАКТИРОВАТЬ
Я изменил.js к следующему:
function getPasswordHash(passwordElement, nonceElement, hashElement)
{
var password = ('#' + passwordElement).attr('value');
var nonce = ('#' + nonceElement).attr('value');
$('#' + hashElement).attr('value', $sha256(password + nonce));
$('#' + passwordElement).attr('value', '');
}
, но консоль Javascript выдает мне ту же ошибку.я выполнил тест проверки на консоли js:
$ ('# пароль'). text () "" $ ('# пароль'). val () "123esda432" $ ('# пароль').attr ('value') "123esda432"
Что показывает, что пароль не только имеет значение, но и свойство attr (), но как только я нажал кнопку отправки, я получил ту же ошибку "Uncaught TypeError: У объекта #password нет метода 'attr' getPasswordHashLogin.js: 3 (анонимная функция) Login: 45 onclick "
¿Что происходит?@ _ @.