2016-08-01 2 views
0

Допустим, вы имеете следующий документ HTML:Jquery избежать нормальных кнопок при выборе: отправить

<form class="" ng-submit="CTRL.submit(CTRL.academy)" submit-throbber> 
<div class="modal-body"> 
    <div class="row"> 
     <div class="col-xs-12 b-r" style="margin-top: 10px;"> 
      <div class="form-group"> 
       <label translate="FORMS.NAME"></label> 
       <input class="form-control" placeholder="{{ 'FORMS.NAME_PLACEHOLDER' | translate }}" 
         ng-model="CTRL.academy.name" required=""> 
      </div> 
      <label translate="FORMS.DESCRIPTION"></label> 
      <textarea class="form-control" placeholder="{{ 'FORMS.DESCRIPTION_PLACEHOLDER' | translate }}" 
         ng-model="CTRL.academy.description" 
         style="height: 300px; margin-top: 0px; margin-bottom: 0px;"></textarea> 
     </div> 
    </div> 
</div> 
<div class="lb-modal-footer"> 
    <button class="btn btn-default" tooltip="{{ 'TOOLTIP.CANCEL' | translate }}" ng-click="CTRL.cancel()"><i 
      class="fa fa-ban"></i></button> 
    <button type="submit" class="btn btn-success m-l-xs" tooltip="{{ 'TOOLTIP.SAVE_AND_EXIT' | translate }}"><i 
      class="fa fa-check-square-o"></i></button> 
</div> 

теперь, когда я использую JQuery, чтобы найти кнопку отправки я сделать: $('form').find(':submit')

Однако в вышеприведенном случае находки два результата (оба моих кнопки)

Это работает правильно, в соответствии с documentation

Однако есть способ избежать это?

+0

_ "Это работает правильно, в соответствии с документацией" _ - только если вы _ _ для "... указать свойство типа." первая кнопка. В документации говорится, что всегда нужно указывать свойство 'type' для кнопок, чтобы это работало последовательно. Добавьте кнопку 'type =" "к первой первой кнопке без отправки. – War10ck

+0

Конечно, у него будет 2 результата, так как оба являются 'button', но у одного из них есть свойство' type = submit', вы должны его отфильтровать. Similary, если вы хотите выбрать элемент 'div', есть много, но если вы хотите использовать определенный' div', вы либо даете 'id' этому элементу, либо некоторое свойство с уникальным значением, например' name = "target" ', или вы можете принять помощь псевдоселекторов типа ': first', ': not' и т. д., если это применимо. –

ответ

1

попробовать $('form').find('[type=submit]')

1

Как вы документы ссылаются на состояние:

всегда задает свойство типа.

Так что просто добавьте type="button" на кнопку отмены, и вы должны быть хорошими.

<button type="button" class="btn btn-default" tooltip="{{ 'TOOLTIP.CANCEL' | translate }}" ng-click="CTRL.cancel()"><i 
      class="fa fa-ban"></i></button> 
0

попробовать это:

$('form').find("button[type='submit']"); 
Смежные вопросы