Я пытаюсь отправить HTML-форму, в которой есть некоторые значения, созданные с помощью JavaScript. Однако, когда я отправляю форму, эти поля ввода теряют свои значения в пользу пустых строк. Что я могу сделать, чтобы при нажатии кнопки отправки поля не сбрасывали свои новые значения?
Код формы:
<form id="post-form" class="save-form" method="POST" action="/posts" style="display: none">
<input placeholder="Title" name="title" /><br>
<input placeholder="Location" name="location" /></br>
<input placeholder="Content" name="content" /><br>
<input id="formlat" name="latitude" type="hidden" />
<input id="formlng" name="longitude" type="hidden" />
<input name="user_id" type="hidden" value="<%= current_user.id %>" />
<input type="submit" value="Submit"/>
</form>
Соответствующий код Javascript:
var newlat = newmarker.getPosition().lat();
var newlng = newmarker.getPosition().lng();
document.getElementById("formlat").value = newlat;
document.getElementById("formlng").value = newlng;
Установка значений по умолчанию или не установка их всегда приводит к одному и тому же результату: форма отправляется с "" для этих полей (или что-то, что было внутри value = ""). Тем не менее, консоль показывает, что эти поля правильно заполняются их широтой / долготой, пока я не нажму кнопку отправки, где они вернутся к своим значениям по умолчанию (в данном случае «»). Только в логах рельсов я вижу поля пустые в фактическом POST.
Поле идентификатора пользователя, тем не менее, сохраняет свое значение при отправке. Поэтому я считаю, что форма перезаписывает свои поля значений при нажатии кнопки отправки. Кто-нибудь знает, как предотвратить такое поведение? Заранее спасибо.