好的,我现在有一个广泛的ruby应用程序在Ruby on Rails后面运行。此应用程序需要表单输入,但我不想在更新文本框时刷新页面。我的意思是:
我有一个包含两个文本框的表单,一个名为“starttime”,另一个名为“endtime”。当按下按钮时,我不知何故需要将这些文本框(用户键入的内容)的值放入ruby中。是否有某种等同于javascript的document.form.starttime.value命令,但对于ruby?或者有没有办法提交表单数据,检索它,但不刷新页面,如使用ajax?我知道ajax用于动态操作DOM而不刷新页面,但我真的只需要检索数据。任何帮助将不胜感激,我根本无法在任何地方找到它。
答案 0 :(得分:1)
您可以使用jQuery轻松完成此操作。为表单元素的开始时间和结束时间提供一个不同的ID(我在下面使用startDate
和endDate
),您可以轻松地检索它们,然后将数据发送到可以在后台处理它们的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事件日志以查看您的操作获得的数据。