[RUBY-ON-RAILS] 내가 폼에있는 버튼을 클릭하면 양식이 제출됩니다. 어떻게 이것을 피하기 위해?
RUBY-ON-RAILS내가 폼에있는 버튼을 클릭하면 양식이 제출됩니다. 어떻게 이것을 피하기 위해?
나는 트위터 - 부트 스트랩을 사용하고 난 내 양식이 라디오 버튼을 사용하고 싶습니다. 나는이 버튼 중 하나를 클릭 할 때 문제가 양식 즉시 제출됩니다. 어떻게 이것을 피하기 위해? 난 그냥 라디오 버튼과 같은 기본 버튼을 사용합니다.
에서:
<%= form_for @product do |f| %>
<div class="control-group">
<%= f.label :type, :class => 'control-label' %>
<div class="controls">
<div class="btn-group" data-toggle="buttons-radio">
<button class="btn">Button_1</button>
<button class="btn">Button_2</button>
</div>
</div>
</div>
<div class="form-actions">
<%= f.submit nil, :class => 'btn btn-primary' %>
<%= link_to 'Cancel', products_path, :class => 'btn' %>
</div>
<% end %>
자바 스크립트 :
// application.js
$('.tabs').button();
해결법
-
==============================
1.미세의 HTML5 사양에서 :
미세의 HTML5 사양에서 :
그리고 오히려 간단한 <버튼 유형 = "버튼"> 푸시 버튼처럼 행동보다 양식을 제출을 <버튼 유형 = "제출">.
HTML4 사양은 같은 일을 말한다 :
당신의 <버튼> 요소 그래서 :
<button class="btn">Button_1</button> <button class="btn">Button_2</button>
(준수 브라우저에서) 다음과 동일합니다 :
<button type="submit" class="btn">Button_1</button> <button type="submit" class="btn">Button_2</button>
그리고 당신이 그 버튼 중 하나를 칠 때마다 당신은 당신의 양식을 제출합니다.
이 솔루션은 일반 버튼을 사용하는 것입니다 :
<button type="button" class="btn">Button_1</button> <button type="button" class="btn">Button_2</button>
IE의 기본의 일부 버전 입력 = 표준의 말씀에도 불구하고 "버튼"합니다. 은 <버튼>을 사용할 때 당신은 언제나 당신이 당신이 기대하고있는 동작을 얻을 것이다으로 type 속성을 지정해야합니다.
-
==============================
2.이를 위해로 preventDefault ()를 사용할 수 있습니다
이를 위해로 preventDefault ()를 사용할 수 있습니다
$('.btn').onClick(function(e){ e.preventDefault(); });
<%= form_for @product do |f| %> <div class="control-group"> <%= f.label :type, :class => 'control-label' %> <div class="controls"> <div class="btn-group" data-toggle="buttons-radio"> <button class="btn" type="button">Button_1</button> <button class="btn" type="button">Button_2</button> </div> </div> </div> <div class="form-actions"> <%= f.submit nil, :class => 'btn btn-primary' %> <%= link_to 'Cancel', products_path, :class => 'btn' %> </div> <% end %>
-
==============================
3.당신이 직접 사용하는 레일 "버튼"을 옵션으로 유형을 지정하여도 도우미를 형성 할 수 있습니다 :
당신이 직접 사용하는 레일 "버튼"을 옵션으로 유형을 지정하여도 도우미를 형성 할 수 있습니다 :
<%= form_for @product do |f| %> <div class="control-group"> <%= f.label :type, :class => 'control-label' %> <div class="controls"> <div class="btn-group" data-toggle="buttons-radio"> <%= f.button "Button_1", type: "button", class: "btn" %> <%= f.button "Button_2", type: "button", class: "btn" %> </div> </div> </div> <div class="form-actions"> <%= f.submit nil, :class => 'btn btn-primary' %> <%= link_to 'Cancel', products_path, :class => 'btn' %> </div> <% end %>
from https://stackoverflow.com/questions/9643806/form-is-submitted-when-i-click-on-the-button-in-form-how-to-avoid-this by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 이상한 "406 허용되지"오류 (0) | 2020.02.10 |
---|---|
[RUBY-ON-RAILS] 튜토리얼을 시작하기에 작동하지 않는 파괴 LINK_TO 4 레일 (0) | 2020.02.10 |
[RUBY-ON-RAILS] 차이 - %> 및 %> 레일 [중복] (0) | 2020.02.09 |
[RUBY-ON-RAILS] '존재'와 액티브 레코드 쿼리 협회 레일 (0) | 2020.02.09 |
[RUBY-ON-RAILS] 레일에서 파일 다운로드 링크 (0) | 2020.02.09 |