Я хочу, чтобы мой пароль на стороне клиента перед отправкой (у меня есть свои причины, я знаю, что я делаю) на сервер. Я использую jsSHA (он работает, я предупреждал вывод), чтобы хэш-пароль.Добавить элемент перед отправкой формы
Я создаю новый элемент, присваиваю хешированный пароль его значению и добавляю его в форму. Но форма до сих пор его не представляет.
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jsSHA/2.0.2/sha.js"></script>
<form id = "form" name="form" method="post" action="verify.php" class="login">
Username: <input type="text" name="username" style = "width: 350px"><br>
Password: <input type="password" name="pwd" id="pwd" style="width: 350px; margin-left: 3px;"><br>
Remember Me: <input type="checkbox" name="rememberme" value="1"><br>
<input type="submit" name="submit" value="Login!" class="loginbutton" onclick="submitForm();">
</form>
JS
function submitForm(){
var form = document.getElementById("form");
var pwd = document.getElementById('pwd');
var hash = new jsSHA("SHA-256", "TEXT", {numRounds: 1});
hash.update(pwd.value);
var hash = hash.getHash("HEX");
var password = document.createElement("password");
password.name="password";
password.type="hidden";
password.id = "password";
password.value = hash;
form.appendChild(password);
pwd.value = "";
form.submit()
}
Переданные Титулы:
username: user
pwd: ""
rememberme: "1"
submit: "Login!"
Как я могу password: *some value*
к этим отправленным параметрам? Что я делаю не так?
Если ваш 'document.createElement' использует' input' как аргумент вместо 'password'. – CuriousMind
Могу ли я предложить альтернативное решение? Как насчет изменения значения существующего входа pwd непосредственно перед отправкой? Таким образом вам не нужно будет создавать дополнительный элемент и удалить существующий. Это, конечно, применяется только при условии, что вы переключаете страницу на submit. Для проверки AJAX вы хотите использовать скрытый элемент, но в этом случае вы предпочитаете искать его вместо его создания. –
@HubertGrzeskowiak Ну, я делал это так, но меня это раздражало, потому что, когда я нажимаю кнопку «Отправить», пароль меняется с ********* на ************** ********************************** перед перезагрузкой страницы. – Mirakurun