2012-05-18 4 views
0

양식, 입력 및 링크가 있습니다. 입력 값이없는 경우 링크를 클릭하면 특정 URL로 연결됩니다. 입력이 비어 있지 않으면 클릭이 양식을 제출해야합니다. 이 작동하지 않습니다값이 null 인 경우 url로 이동하십시오.

$('.youtube').bind('click', function() { 
    if($(input).val() == ''){ 
     $(".youtube a").attr("href", "http://www.youtube.com/") 
    }else{ 
     $(form).attr("action","http://www.youtube.com/results?search_query="); 
     $(form).submit(); 
    } 

}); 

, 나는 그 이유를 알아낼 수 없습니다 : 이것은 내가 jQuery를 지금까지 무엇을 가지고

<li class="youtube"><a href="#">YouTube</a></li> 

:이 같은 링크가 모습입니다.

+0

은 입력란입니다. –

+0

@ Adam Sweeney 아니, 왜 묻지? – Youss

+0

입력이 약간 넓게 보입니다. 당신은'if ($! ('input : textbox') .Val ("");'같은 것을 사용해서는 안된다. 적어도 텍스트 상자를 가리키는 텍스트 상자라면, 입력에 ID를 부여해야한다. –

답변

2

링크가 아닌 링크를 타겟팅하려는 경우

I.E.

$('.youtube a').bind('click')

또한 여러 입력 필드를 가지고 있나요?

if(!$('input').val()) 
{ 
    // Rest of code here 
} 

그래서 전체 코드는 다음과 같습니다 : 귀하의 입력 필드 그렇지 않으면 나는 다만 것 empty string를 확인하려면, 즉 '입력'

를 변수를 표적으로하고 따옴표로 할 필요가

$('.youtube a').bind('click', function() { 
    if(!$('input').val()){ 
     $(".youtube a").attr("href", "http://www.youtube.com/") 
    }else{ 
     $('form').attr("action","http://www.youtube.com/results?search_query="); 
     $('form').submit(); 
    } 

}); 
+0

고마워. submit 부분이 작동하지 않습니다. :( – Youss

+0

죄송 합니다만 이전에 알지 못했습니다 .. 입력 필드와 같은 경우'$ (form) '에 따옴표를 써서' $ ('form')'그렇지 않으면 변수 'form'을 다시 타겟팅하게 될 것입니다. 올바른 해결책을 반영하기 위해 답을 수정했습니다. –

관련 문제