Проверка видимого текстового поля в ruby на рельсах

0

У меня есть скрытые текстовые поля в моей таблице, которые становятся видимыми один за другим, когда я нажимаю кнопку добавления. Я хочу проверить (в рельсах) только те строки, которые видны.

<div class="info_type">
        Internet<hr>
        <table id="email_add">
          <tr id="email_1">
            <th><%= f.label(:email1,"Email :") %></th>
            <td><input id="contact_email1" type="text" name="contact[email1]"></input>
            </td>
         </tr>
          <tr id="email_2">
            <th><%= f.label(:email2,"Email 2:") %></th>
            <td><input id="contact_email2" type="text" name="contact[email2]"></input>
            </td>
          </tr>
          <tr id="email_3">
            <th><%= f.label(:email3,"Email 3:") %></th>
            <td><input id="contact_email3" type="text" name="contact[email3]"></input>
            </td>
          </tr>
        </table>
        <input type="button" id="add_email" value="Add Email"/>
        <input type="button" id="delete_email" value="Delete Email"/>
      </div>

Я скрываю строки email_2 и email_3, используя jquery и показываю, когда щелкнут add. Есть ли какой-либо метод проверки видимости текстового поля при использовании проверочного тега электронной почты или мне нужно сделать это только в jquery?

  • 0
    Вы хотите, чтобы проверки выполнялись на email_2 и email_3, если их поля видны, верно? Как насчет просто запустить проверки, но разрешить пустые значения?
  • 0
    Попробуйте то, что предложил JCM

1 ответ

0

Отправьте список скрытых полей в запрос, а затем в методе создания вы можете удалить поля, которые вы не хотите сохранять из параметров перед сохранением.

Для определения скрытых полей используйте JQuery $("#contact_email1").is(":visible")

Затем в контроллере перед сохранением удалите переменные скрытых элементов, используя params[:info].delete :email1 или params.delete :email1 зависимости от того, где он находится.

Итак, просто создайте список, используя некоторую логику, чтобы отслеживать скрытые элементы, возможно, просто используя int. Затем перебираем этот список и удаляем их из параметров.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню