如何在不提交表单的情况下使用ruby访问表单元素值?

时间:2010-07-27 23:23:11

标签: javascript ruby-on-rails ruby

好的,我现在有一个广泛的ruby应用程序在Ruby on Rails后面运行。此应用程序需要表单输入,但我不想在更新文本框时刷新页面。我的意思是:

我有一个包含两个文本框的表单,一个名为“starttime”,另一个名为“endtime”。当按下按钮时,我不知何故需要将这些文本框(用户键入的内容)的值放入ruby中。是否有某种等同于javascript的document.form.starttime.value命令,但对于ruby?或者有没有办法提交表单数据,检索它,但不刷新页面,如使用ajax?我知道ajax用于动态操作DOM而不刷新页面,但我真的只需要检索数据。任何帮助将不胜感激,我根本无法在任何地方找到它。

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery轻松完成此操作。为表单元素的开始时间和结束时间提供一个不同的ID(我在下面使用startDateendDate),您可以轻松地检索它们,然后将数据发送到可以在后台处理它们的Rails操作如果需要,当您单击按钮时,使用任何相关数据更新DOM(下面假设ID为SendDateValues的输入按钮)。

像这样:(未经测试)

<script type="text/javascript">
//<![CDATA[

$("#SendDateValues").click(function() {
  $.ajax({
    url: '/SomeController/ProcessDateData/",
    data: 'startDate=' + $("#startdate").val() + "&endDate=" + $("#endDate").val(),
    success: function(html) { //DO SOMETHING WITH THE RESULT },
    type: 'post'
  });
});

//]]>$
</script>

使用结果...使用Firebug或类似的东西来检查传递的内容。检查您的Rails事件日志以查看您的操作获得的数据。