Как получить доступ к значениям элемента формы с помощью ruby ​​без отправки формы? - PullRequest
0 голосов
/ 28 июля 2010

Хорошо, сейчас у меня есть обширное приложение ruby, работающее за Ruby on Rails. Это приложение требует ввода формы, но я не хочу обновлять страницу при обновлении текстового поля. Я имею в виду:

У меня есть форма с двумя текстовыми полями: одно называется «время начала», а другое - «время окончания». Мне как-то нужно получить значение этих текстовых полей (что набрал пользователь) в ruby ​​при нажатии кнопки. Есть ли какой-нибудь эквивалент команды javascript document.form.starttime.value, но для ruby? Или есть какой-то способ отправить данные формы, извлечь их, но не обновить страницу, например, используя ajax? Я знаю, что ajax используется для динамического управления DOM без обновления страницы, но мне просто нужно получить данные. Буду признателен за любую помощь, я просто не могу найти это нигде.

1 Ответ

1 голос
/ 28 июля 2010

Вы можете сделать это довольно легко с jQuery . Присвойте элементам времени начала и времени окончания отдельный идентификатор (я использую startDate и endDate ниже), и вы можете легко получить их, а затем отправить данные в действие Rails, которое может обработать их в фоновом режиме и, если необходимо, обновите DOM с помощью любых соответствующих данных, когда вы нажимаете кнопку (ниже подразумевается кнопка ввода с идентификатором 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, чтобы увидеть, какие данные получает ваше действие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...