Делать весь DIV кликабельным при использовании Rails для отправки метода POST

0

Я действительно новичок в веб-разработке (я начал свое "образование" около 3 месяцев назад) и совершенно новый для stackoverflow... У меня проблемы с webapp, который я создавал.

Все, что касается следующего кода, работает по назначению.

        <div class ="large-4 columns" span id="trait_list">
            <%= link_to "#{n.name} #{Trait.find(n.id).trait_user.first(:conditions => ["trait_id = #{n.id} AND user_id = #{current_user.id}"]).counter} Times" , counter_index_path(:trait_id => n), method: :POST %>
        </div>

Где (@usertrait = current_user.traits.all) в контроллере.

(counter_index_path) указывает на таблицу, в которой конкретный счетчик пользовательских признаков увеличивается на 1 в таблице trait_user. Я понимаю, что некоторые из вышеуказанного кода должны быть помещены в контроллер... но я просто не нашел способ сделать это правильно еще > ^.. ^ <

проблема

Недавно коллега попросил, чтобы divs, которые содержат ссылки, также были интерактивными. Я нашел несколько решений... первым из которых является добавление следующего кода в

CSS,

{ 
  position:absolute; 
  width:100%;
  height:100%;
  top:0;
  left: 0;

  /* edit: added z-index */
  z-index: 1;

  /* edit: fixes overlap error in IE7/8, 
     make sure you have an empty gif */
  background-image: url('empty.gif');
}   

Что-то удаляет текст, который должен отображаться в div...

JQuery

$(".myBox").click(function(){
    window.location.href="http://google.com";
    return false;
});

Это заставляет ссылки отправлять GET-метод, когда мне нужен метод POST, который нужно отправить (чтобы увеличить число счетчиков на 1)...

Я не уверен, был ли уже ответ на этот вопрос, но я не смог его найти. Помощь действительно приветствуется ^. ^

Ура!

Теги:
counter
clickable

1 ответ

0

Попробуй это:

$(".myBox").click(function(){
    var form = document.createElement("form");
    form.setAttribute("method", your_method);
    form.setAttribute("action", your_path);
    document.body.appendChild(form);
    form.submit();
});

Ещё вопросы

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