HTML表单提交时丢失其值?

时间:2018-07-04 00:12:32

标签: javascript html ruby-on-rails

我正在尝试提交具有通过javascript创建的某些值的HTML表单。但是,当我提交表单时,这些输入字段会丢失其值,而使用空字符串。我该怎么做,以防止在单击“提交”按钮后字段丢弃其新值?

表单代码:

<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 =“”内部的任何内容),表单会以“”提交。但是,控制台显示这些字段已正确地用纬度/经度填充,直到我按下“提交”按钮,然后它们才恢复为默认值(在本例中为“”)。只有在Rails的日志中,我才能看到实际POST中的字段为空白。

但是,用户ID字段在提交时确实保留其值。因此,我认为该表单在单击“提交”按钮后会覆盖其值字段。有谁知道如何防止这种行为?预先感谢。

0 个答案:

没有答案