Я работаю над webapp локально, и у меня есть страница настроек. Пользователь может изменить переменные, и Javascript должен сохранить значения, но, похоже, он возвращает их к 1 прямо после их изменения.Сбрасывание переменных Javascript
HTML:
<body onload="getSettings()">
<h1>Instance Load Manager - Settings</h1>
<div id="uploader">
<h2>Terraform file upload:</h2>
<input type="file" id="file" name="files[]" multiple onchange="moveFile()" />
</div>
<a href="index.html">
<div id="settingsButton">
<h3>Back</h3>
</div>
</a>
<div id ="settingsForm">
<form>
Maximum instances:<br>
<input type="text" id="maxInst" name="max instances"><br>
<br>
<input type="submit" value="Save Changes" onclick="updateSettings()">
</div>
</body>
Javascript:
var maxInstances = 1;
function updateSettings()
{
maxInstances = document.getElementById("maxInst").value;
alert(maxInstances);
}
function getSettings()
{
document.getElementById("maxInst").value = maxInstances;
}
Помощь оценили :)
сохранить в файл JSON параметры с IP пользователя или что-то, как уникальный идентификатор – Lucas
Ваш 'html' недействителен ... где ваше закрытие' form' метить? – brso05
Когда вы нажимаете ввод (или нажимаете кнопку «Отправить») в текстовых полях, он вызывает форму submit, которая перезагружает страницу, которая перезагружает ваш javascript. Puff, ваши переменные исчезли. Если у вас есть форма, используйте ее правильно (укажите действие формы, обработчик сервера записи). Если вы хотите сделать это исключительно в JS, то не используйте форму. Вместо этого обрабатывайте события обмена в текстовых полях и сохраняйте локальное хранилище или что-то в этом роде. В любом случае, вы получили __a много ___ чтении. –