2012-05-18 33 views
0

我有一個表單,一個輸入和一個鏈接。如果輸入沒有值,則單擊該鏈接將指向特定的URL。如果輸入不爲空,則點擊將不得不提交表單。這是鏈接的樣子:如果值爲空,轉到url

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

這是我迄今爲止jQuery中:

$('.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(); 
    } 

}); 

這是不行的,我想不通爲什麼。

+0

是您的輸入文本框? –

+0

@亞當斯威尼不,不,你爲什麼問? – Youss

+0

輸入似乎有點寬泛;你不應該使用類似'if($!('input:textbox')。val(「」);'如果它是一個至少指向文本框的文本框;應該給輸入一個ID –

回答

2

你想成爲鏈接而不是li

I.E.

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

也有你有多個輸入字段?您輸入字段需要加引號,否則你靶向一個變量,即「輸入」

要檢查的empty string我只是做:

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

所以你完整的代碼是:

$('.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

謝謝,但是提交部分不工作.. :( – Youss

+0

對不起,我沒有注意到,早期..這是與輸入字段相同的情況下,你需要把'$(形式)'引號''使它' $('form')'否則你會再次瞄準變量'form' - 我已經更正了我的答案以反映正確的解決方案。 –