2012-04-13 3 views
2

<button onclick="doSomething();">Do something</button> 내 안에 form_for 도우미가 있습니다. 그것을 icking하면 양식 제출이 발생합니다. 그 대신 의도 한대로 클라이언트 측에서 작업을 수행하기를 원합니다.
어떻게하면됩니까?양식 내에서 onclick 이벤트에 대한 사용자 지정 단추가 리디렉션을 발생시킵니다.

편집 : 내 목적으로 만 <button> 태그 만 사용할 수 있으며 양식 안에 배치 할 수 있다면 잘 될 것입니다.

답변

2

그냥 쉽게 추가 할 수 있습니다. 물을 넣으십시오.false를 반환하십시오.. 예를 참조하십시오

<button onclick="doSomething();return false;">Do something</button> 

나는 주말 휴식과 내가 다른 행동 양식을 필요로하고 그냥 내 장소 버튼을 원하는 :)

0

<button onclick="doSomething();void(0)">Do something</button>

는 우려를 분리, 자바 스크립트에서 버튼의 클릭 이벤트에 후크 더 좋은 연습이 일반적입니다 만.

+0

후 인터넷 검색을 5 분해야합니다. –

+0

죄송합니다, 의견이 섞여 있습니다. 이 방법은 불행하게도 작동하지 않습니다. –

1

편집 : <form> 작업 방법은 버튼을 다음과 같이 기록되어 있는지 확인합니다 : 당신은 그것의 인덱스에 의해 형태를 선택할 수 있습니다 <input type="button" onclick="doSomething()">

. 따라서 이것이 웹 페이지의 첫 번째 <form> 요소 인 경우 색인은 0이됩니다. 색인은 요소의 순서입니다. 이 문제가 발생하면 양식의 이름을 정하고 이름으로 선택하십시오. 방법은 다음과 같습니다.

var form = document.forms[0]; //selecting by index 
var namedForm = document.forms["someForm"]; //Selects <form name="someForm"> 
var name = form.elements["nameInput"].value; //Selects <input type="text" name="nameInput"> 

기타 등등. 만약 당신이 이것에 문제가 생기면 알려주세요.

+0

불행히도 작동하지 않습니다. –

+0

사실을 알기 위해 나는 두 번째 단락 방법을 사용했습니다. HTML과 JavaScript를 프로그래밍하고 그 방법을 사용했습니다. 처리 할 요소가 많을 때 일을하는 가장 좋은 방법은 아니지만 작업 할 요소가 많지 않으면 사용하는 것이 좋습니다. 그것은 일을 끝낸다. –

+0

오, 죄송합니다. 의견이 섞여 있습니다. 예, 작동하지만 "다른 동작을위한 양식이 필요하며 그 안에 버튼을 넣기 만하면됩니다." –

관련 문제