2016-07-13 2 views
2

3 개의 양식이있는 페이지가 있습니다. 모든 양식에는 고유 한 ID가 있습니다. 나 또한 두 개의 스크립트가 있는데 하나는 두 가지 형식으로 호출해야하지만 세 번째 형식은 호출하지 말고 세 번째 형식은 다른 형식으로 호출해야합니다.jQuery : 3 개의 양식이있는 페이지에서만 2 개의 양식에 이벤트 첨부

$("#third_form") 

을하지만 어떻게 내가 단지 제 1 및 제 2 형태에 다른 스크립트를 첨부 할 : 난 단지 다음과 같이 선택하여 세 번째로 스크립트를 첨부 할 수 있습니다? 는이 같은 모든 형태에 첨부하려고 : 너무 그래서 비록 내가

var form = $(this); 

if (form != '#third_form'){ ... } 

에 의해 제출 된 어떤 형태로 확인할 수 있습니다 분명히 다음이가 #third_form에 연결되어

$('form') 

하지만, 그러나 그것은 아니다 일. 아이디어가 있으십니까? $ (양식) -

답변

2

.

+0

아니요. 작동하지 않습니다. #first_form, #second_form. submit이 함수가 아닙니다. – Chriz74

+0

편집에서 스 니펫을 확인하십시오 ... –

+0

동시에 두 가지 양식을 제출할 필요가 없습니다. 첫 번째 또는 두 번째 양식을 제출할 필요가 없습니다. 코드와 함께 스크립트가 호출되지 않습니다. – Chriz74

1
$('#first_form, #second_form') 
+0

$(function() { $('form').on('click', function(e) { // or this.id if (e.target.parentNode.id == 'third_form' || e.target.id == 'third_form') { alert('third_form'); } else { alert('one of the first two forms') } }) });
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <form id="first_form"> first_form<br> First name:<br> <input type="text" name="firstname"><br> Last name:<br> <input type="text" name="lastname"> </form> <form id="second_form"> second_form<br> First name:<br> <input type="text" name="firstname"><br> Last name:<br> <input type="text" name="lastname"> </form> <form id="third_form"> third_form<br> First name:<br> <input type="text" name="firstname"><br> Last name:<br> <input type="text" name="lastname"> </form>
더이 작동하지 않습니다 , 오류 : #first_form, #second_form. submit이 함수가 아니며 – Chriz74

+0

이 다시 시도되었고 작동 중입니다. 어쩌면 문법 오류가 발생했습니다. 감사합니다. – Chriz74

1
if($(form).attr('id') != 'third_form'){ ... } 

$ ('양식'), 당신은 id 값을 선택하고 다른 선택과 비교,하지만하지 전체 오브젝트해야합니다. 이 도움이

$('#first_form,#second_form') 

희망 : 여러 선택기를 전달하는 쉼표로 구분 ,를 사용할 수

0

var form = $(this);

if (form != '#third_form'){ ... }

but it's not working. Any idea?

형태는 jQuery를 객체이며 문자열에 대한 비교 싶기 때문에

$('#first_form,#second_form').on('submit', function(){ 
 
    alert('First or Second_form'); 
 
}) 
 
$('#third_form').on('submit', function(){ 
 
    alert('Third form'); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id='first_form'> 
 
    <input type='submit' value='First form submit'/> 
 
</form> 
 
<br/> 
 
<form id='second_form'> 
 
    <input type='submit' value='Second form submit'/> 
 
</form> 
 
<br/> 
 
<form id='third_form'> 
 
    <input type='submit' value='Third form submit'/> 
 
</form>
. 그래서, 당신은 할 수 있습니다 :

if (this.id != '#third_form'){ ... }

당신은에서와 같이 "event.target.id"또는 "this.id"를 사용할 수

:

+1

제출되는 양식의 attr ('id')이 'third_form'과 다른지 확인하는 점이 무엇입니까? – Chriz74

+0

@ Chriz74 가능한 경우 정보가 정확히 존재하기 때문에 event.target.id 또는 this.id를 직접 사용하는 것이 좋습니다. – gaetanoM

관련 문제