2009-06-27 2 views
0

내가 입력 상자사용자가 키워드를 입력 할 때 onclick 함수를 트리거하는 방법은 무엇입니까? jQuery를

<input type="text" name="search" id="search" /> 
<img src="icon.png" alt="" id="doSearch" /> 

내가 jQuery를 사용하고 내가 "doSearch"에 대한 온 클릭 이벤트가에게 있습니다. 그래서 "ab"와 같은 단어를 입력하고 "icon"을 클릭하면 php 파일에 ajax 요청을 보내고 dom에 결과를 다시 추가합니다. 사용자가 결과를 얻기 위해 이미지 아이콘을 클릭해야 그나마 있도록 일부 문자가 입력 상자에 입력

$('#doSearch').click(function() { 
    $(".showResults").show("fast"); 
    var input_text = $('input[name="search"]').val(); //retrieve text 
    $.ajax({ 
     method: "get" ... 
     ... some more lines 
    }) etc etc 

내가 자동으로 온 클릭 기능을 실행할 수 있는지 궁금. 또한 입력 상자에서 Tab 키를 누르면 이미지 아이콘에 포커스를 어떻게 설정할 수 있습니까?

도움을 주셔서 감사합니다.

편집 :

은 나뿐만 아니라 같은 형태로 다른 입력 상자가 있습니다. 따라서이 입력은 스택 오버플로 태그 입력과 다소 유사합니다.

답변

2

그런가요?

 
$('#doSearch').keyPress(function(e){ 
    if($(this).val()=='??') $('#doSearch').trigger('click') 
}); 
+0

예, 이와 같은 것을 찾고 있습니다. "??" 평균?? thanks – TigerTiger

+0

클릭을 보낼 때마다 귀하의 상태입니다. 예를 들어 입력 값이 2 글자보다 긴지 여부를 확인할 수 있습니다. – Thinker

2

는이 작업을 수행하는 것입니다 수행하는 가장 적절한 방법은 :

<form id='search'> 
<input type="text" name="search" id="search" /> 
<input type="image" src="icon.png" />  
</form> 

그런 식으로 이미지가이 형태의 버튼을 제출 될 것이며, 사용자가 누를 때마다 를 입력 폼의 제출 이벤트가 해고되고 당신이 원하는 것을 할 수 있습니다. 그것이 AJAX 요청하지 않은 경우 당신은 다음 서버에서 확인할 수 있습니다로

$('#search').submit(function() { 
    // do what you were doing 
    return false; // prevent form submission 
}); 

이것은 또한, 자바 스크립트 비활성화로 사람들에게 친절의 상승 여력이있을 것이다 :

이 당신이 할 수있는 방법을 jQuery를하다 요청한 콘텐츠가 포함 된 전체 페이지를 대신 표시 할 수도 있습니다. 나는 이것이 또한 그렇게 만들 것이라고 확신한다. TAB도 이미지로 간다.

+0

사실, 양식의 한 검색 상자 만이 아닙니다. 양식에 다른 입력 상자도 있습니다. 이 입력 상자는 새로운 질문을 만들 때 TAGS 입력과 다소 비슷하게 작동합니다. .. 감사합니다. – TigerTiger

관련 문제