Несколько форм + HAML + jQuery + Javascript submit - PullRequest
0 голосов
/ 17 марта 2010

У меня есть страница HAML, в которой перечислены некоторые ссылки для удаления «вещей», которые выглядят следующим образом

%div
   %a.form_submit Delete Thing 1
   %form{:href=>"#", :id=>'comment_1', :method=>'post', :action=>'/thing/delete'}
      %input{:type=>'hidden', :name=>'thingid', :value=>'1'}
      %input{:type=>'submit', style='display:none'}

%div
   %a.form_submit Delete Thing 22
   %form{:href=>"#", :id=>'comment_22', :method=>'post', :action=>'/thing/delete'}
      %input{:type=>'hidden', :name=>'thingid', :value=>'22'}
      %input{:type=>'submit', style='display:none'}

Цель состоит в том, чтобы иметь ссылку «Удалить XX», которая удалит что-то конкретное. На странице может быть несколько этих ссылок, и каждая ссылка предназначена для определенной «вещи».

У меня также есть часть (ненавязчивого) jQuery javascript, который добавляет обработчик кликов к каждой форме следующим образом:

$('a.form_submit').click(function(event) {
    $('form').submit();
    event.preventDefauilt();
});

Это работает, когда на странице есть одна форма. Тем не менее, если у меня есть несколько форм на странице, как я могу убедиться, что нажатие «Delete Thing 1» вызовет событие submit () только в форме с идентификатором = comment_1?

1 Ответ

1 голос
/ 17 марта 2010

Я не уверен, но это может сработать ...

$('a.form_submit').click(function(event) {
    var num = parseInt($(this).text());
    $('form#comment_'+num).submit();
    event.preventDefauilt();
});

я также предлагаю вывезти :href=>"#",, потому что это не атрибут формы ...

...