2014-04-09 4 views
0

다음과 같이 애니메이션 검색 양식이 있습니다. 검색 버튼을 먼저 클릭 Jquery : 입력 유형을 버튼에서 제출 버튼으로 변경하십시오.

jQuery("#submitsearch").click(function() { 
    jQuery("#searchtext").animate({width:'toggle'},500); 
     jQuery(this).toggleClass("closed"); 
}); 

<form role="search" method="get" id="searchform" action="<?php echo home_url('/'); ?>"> 

<div id="searchtext"> 
    <input type="text" value="" size="25" name="s" id="s" placeholder="<?php esc_attr_e('Search', 'reverie'); ?>"> 
</div> 

<div id="submitsearch"> 
    <input type="button" id="searchsubmit" value="" class="button postfix"> 
</div> 

, 그것은 사용자들이 검색 할 것을 입력 할 수있는 텍스트 영역을 전환합니다. 그러나 검색 버튼을 다시 클릭하면 검색 양식을 제출해야합니다 (입력 유형이 버튼에서 제출로 변경되어야 함).

나는 이미 몇 게시물을 읽었지만, 몇 년 전부터 있습니다. & 아직 관련성이 있는지 확실하지 않습니다. 입력 유형을 변경할 수 있습니까?

+0

왜 현재 단계를 추적하는 버튼에 '상태'속성이 없습니까? 처음 클릭하면 상태가 'submit'으로 설정됩니다. 두 번 클릭하면 form.submit()을 수행합니다. type 속성을 변경하는 것이 나에게 좋지 않다. – mastaBlasta

답변

0

type이 속성이기 때문에 가능하다고 생각합니다. 작은 코드 줄을 사용하면 도움이됩니다.

$('#searchsubmit').removeAttr("type").attr("type", "submit"); 

위험이 적은 방법이 있습니다.

이 같은
$('#searchsubmit').on('click', function() { 
    $(this).parents("form:first").submit(); 
}); 
+0

먼저 유형을 제거 하시겠습니까? 단순히 타입 속성을 바꾸거나 변경할 수는 없습니까? – Steven

+1

@Steven 나는 안전을 위해서만 그렇게한다. 원한다면 뺄 수 있습니다 – reporter

0

뭔가를 수행해야합니다 : 방법은 제출 기능이라는 'onclickEvent'를 추가하는 것입니다 그것은이 완료되지이다

$('.button').on('click', function(){ 
    $("#searchtext").animate({width:'toggle'},500); 
    $(this).attr('type', 'submit'); 
}); 

,하지만 가까이 당신이 원하는 무엇을 당신을 얻을해야합니다 :)

흠 ... 나는 최신 jQuery를 함께, 당신도
이 (.click()의 이전 버전이 없었 .click(function(){});on('click' function(){})를 대체 할 수 있다고 생각바인딩)

0

유형 속성을 제거하고 제출 항목으로 다시 설정할 수 있습니다.

jQuery("#submitsearch").click(function() { 
jQuery("#searchtext").animate({ 
    width: 'toggle' 
}, 500); 
jQuery(this).toggleClass("closed"); 
var btn = document.getElementById('searchsubmit'); 
btn.removeAttribute('type'); 
btn.setAttribute('type', 'submit'); 
}); 

fiddle 작업.

+0

DOM을 jQuery와 왜 혼합합니까? 왜 jQuery를 사용하지 않는가? – Steven

+0

jquery attr 함수를 사용하면 재정의하지 않습니다.이 피들을 확인하십시오. http://jsfiddle.net/Karim_AG/mSzY5/1/ –

+0

유형은 여전히 ​​'button'입니다. –

관련 문제