jQuery Form API
1. .submit(handler(eventObject)
$('form').submit(function() {
if ($('#txtName').val() == '') {
alert("이름을 입력 하세요.");
return false;
} else {
return true; // submit 진행
}
});
<form>
<input type="text" id="txtName">
<input type="submit" value="저장">
</form>
2. .serialize(), .serializeArray()
.serialize()의 경우 선택한 폼의 값을 “a=1&b=2&c=3”등의 형태로 반환하며,
.serializeArray() 메서드의 경우 jQuery 배열 개체로 반환한다.
$(document).ready(function() {
$('form').submit(function() {
110
var datas = $(this).serialize();
alert(datas);
return false;
});
});
<div>
<form>
<input type="text" name="a" value="1" id="a" /><br /> <input
type="text" name="b" value="2" id="b" /><br /> <input
type="hidden" name="c" value="3" id="c" /><br /> <select name="d">
<option value="5" selected="selected">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select><br /> <input type="submit" name="f" value="Submit" id="f" />
</form>
</div>
.serialize()로 form에 있는 값을 한줄 데이터로 받으며, <ahref="s.jsp?a=1&b=2&c=3&d">클릭</a> 이렇게 한줄로 받아온 데이터를 다른 jsp로 넘겨줄 수 있다. ?는 파일.
jQuery 이벤트 메서드
.blur() 요소에서 포커스를 잃을 경우에 발생하는 이벤트
.change() <input />, <textarea />, <select /> 요소의 값 변경시 발생하는 이벤트.
.click() 마우스 클릭 시 발생하는 이벤트 이다.
.dblclick() 마우스를 더블클릭 했을 경우 발생하는 이벤트 이다.
.focus() 요소에 포커스 되었을 때 발생하는 이벤트 이다.
.hover() 마우스가 요소 위에 위치했을 때 발생하는 이벤트 이다.
.keydown() 키 입력 시 발생되는 이벤트이며, 모든 키에 대핬 적용이 된다.
.keypress() keydown 이벤트와 동일하게 키 입력 시 발생이 되지만 enter, tab등의 특수키에는 이벤트가 발생되지 않는다.
.keyup() 키 입력 후 발생되는 이벤트 이다.
.mousedown() 마우스 클릭 시 발생하는 이벤트이다.
.mouseenter() 선택한 요소의 영역에 마우스가 위치했을 때 발생되는 이벤트.
.mouseleave() 선택한 요소의 영역에서 마우스가 벗어 났을 때 발생되는 이벤트.
익스플로러에서만 발생되는 이벤트지만 jQuery는 브라우저 관계없이 사용할 수 있도록 시뮬레이터 된다.
.mouseout() 선택한 요소의 영역에서 마우스가 벖어 났을 때 발생되는 이벤트.
.mouseup() 마우스 클릭 후 발생되는 이벤트.
.ready() DOM이 모두 준비 되었을 때 발생하는 이벤트.
1. .click()
이전방식) 필요한 함수를 만들고, 할당 이벤트가 필요한 요소에 일일이 적용했다
<script>
function tdClick(obj) {
alert(obj);
}
</script>
<tr>
<td onclick="tdClick('1');">#1</td>
<td>#2</td>
<td>#3</td>
<td>#4</td>
<td>#5</td>
</tr>
<tr>
<td onclick="tdClick('6');">#6</td>
<td>#7</td>
<td>#8</td>
<td>#9</td>
<td>#10</td>
</tr>
추천방식) HTML 요소에는 아무런 작업을 하지 않았다.
<script>
$(document).ready(function() {
$("td").click(function() {
alert($(this).text());
});
});
</script>
<tr>
<td>#1</td>
<td>#2</td>
<td>#3</td>
<td>#4</td>
<td>#5</td>
</tr>
<tr>
<td>#6</td>
<td>#7</td>
<td>#8</td>
<td>#9</td>
<td>#10</td>
</tr>
웹에서 흔히 사용이 되지는 않지만 jQuery를 통해서 쉽게 구현이 가능한 마우스 더블클릭을 이용하고 싶다면, 위의 예제에서 .click() 메서드를 .dblclick()으로 변경만 하면 아무런 문제없이 사용이 가능하다.
<script>
$(document).ready(function () {
$("td").dblclick(function() { alert($(this).text()); // 더블클릭은 dblclick으로 제어
});
});
</script>
예제) td에 click을 할 수 있게 만들어 alert으로 내용 확인
<script>
$(document).ready(function() {
$('td').click(function() {
alert($(this).text() + ':' + $(this).attr('title')); // this는 위에서 click을 한 td 자체가 this가 된다.
});
});
</script>
</head>
<body>
<h2>jQuery 시작 Selector</h2>
<p>jQuery 에 대한 자세한 내용을 보려면 jquery.com 을 방문할 수 있다.</p>
<div>
<table border="1">
<tr>
<td>#1</td><td title="2번">#2</td><td>#3</td><td>#4</td><td>#5</td>
</tr>
<tr>
<td>#6</td><td>#7</td><td>#8</td><td>#9</td><td>#10</td>
</tr>
<tr>
<td>#11</td><td>#12</td><td>#13</td><td>#14</td><td>#15</td>
116
</tr>
<tr>
<td>#16</td><td>#17</td><td>#18</td><td>#19</td><td>#20</td>
</tr>
<tr>
<td>#21</td><td>#22</td><td>#23</td><td>#24</td><td>#25</td>
</tr>
</table>
</div>
결과 각 td를 클릭하면 속성 값이 없으므로 undefined가 뜨고 2번째 td만 title이 있어 해당 내용 '2번'이 뜬다.
2. .keydown()
3. .bind()
AREA(DIV) MOUSE라는 텍스트 위에 마우스 커서를 올리면 숫자가 올라간다.
4. .live(), die() - 최신 버전에서는 on(), off()로 바뀜
5. .one()
'jQuery' 카테고리의 다른 글
Ajax (Asynchronous JavaScript and XML) (0) | 2016.03.21 |
---|---|
클릭시 이미지와 가격 텍스트가 바뀌는 예제 (0) | 2016.02.22 |
jQuery 속성 메서드: attr(), removeAttr(), val(), .text(), .html() (0) | 2016.02.19 |
JQuery 기초, hasClass(), addClass(), removeClass(), toggleClass(), position(), width(), height() (0) | 2016.02.19 |
JQuery: find(), siblings() (0) | 2016.02.19 |