2011-07-27 58 views
0

http://www.hcfmissoula.com/grants/compassionate-care-grant的Javascript沒有工作,可能是由於衝突

我有這個簡單的單選按鈕的形式,如果用戶回答「是」對每個問題,我想一個隱藏的鏈接,在底部出現。這裏是我正在使用的代碼:

<script type="text/javascript"> 
$('input:radio').change(function(){ 
    if(
     ($('input:radio[name=group1]:checked').val() == 'Yes') && 
     ($('input:radio[name=group2]:checked').val() == 'Yes') && 
     ($('input:radio[name=group3]:checked').val() == 'Yes') && 
     ($('input:radio[name=group4]:checked').val() == 'Yes') 
    ){ 
     document.getElementById('pdflink').innerHTML = '<div><a href="http://www.mydomain.com/somefile.pdf">grab the file here</a></div>'; 
    } 
    else { 
     document.getElementById('pdflink').innerHTML = ''; 
    } 

}); 
</script> 

<form name="myform" action="" method="POST"> 
<div><br> 
<p>Question 1?</p> 
<input type="radio" name="group1" value="Yes"> Yes<br> 
<input type="radio" name="group1" value="No"> No<br> 
<hr> 
<p>Question 2?</p> 
<input type="radio" name="group2" value="Yes"> Yes<br> 
<input type="radio" name="group2" value="No"> No<br> 
<hr> 
<p>Question 3?</p> 
<input type="radio" name="group3" value="Yes"> Yes<br> 
<input type="radio" name="group3" value="No"> No<br> 
<hr> 
<p>Question 4?</p> 
<input type="radio" name="group4" value="Yes"> Yes<br> 
<input type="radio" name="group4" value="No"> No<br> 
</div> 
</form> 

<div id="pdflink"> 
</div> 

的鏈接沒有出現在#pdflink當我點擊全部是按鍵。

回答

3

更新:根據我的回答如下,這裏有你需要如何設置你的文件,使這項工作的一個片段:前

<script type="text/javascript"> 
$(document).ready(function() { 
    $('input:radio').change(function(){ 
     // etc. 
    }); 
}); 
</script> 

<form name="myform" action="" method="POST"> 
<!-- etc. --> 

開始$('input:radio').change代碼是立即執行,以下HTML已被渲染並添加到DOM。您需要將該代碼包裝在$(document).ready調用中,以便在文檔已加載後執行

請參閱here以獲取證據,否則您的代碼將正常工作。的jsfiddle會自動將代碼從JavaScript的框架$(document).ready調用內部,就像這樣:

$(document).ready(function() { 
    // your code here 
}); 

也看到here更一致的方式來達到同樣的事情(用了jQuery只,而不是一個jQuery和內置的組合在JavaScript函數中)。純粹是一個建議。

+0

所以,你得原諒我,因爲我使用javascript一個小白,但我在哪裏插入的代碼這一點嗎?我已經在頭文件中調用了js 1.6.2 ... – blackessej

+0

@blackessej:查看我的更新。 –

+0

您想要在您的示例中圍繞javascript包裝該代碼。此外,您應該嘗試將所有腳本塊移至頁面底部,即在關閉標記之前。 http://developer.yahoo.com/performance/rules.html –

0

在Chrome瀏覽器中查看您的代碼,我看到了這一點。您的&符號越來越逃脫和Chrome是說compassionate-care-grant:197Uncaught SyntaxError: Unexpected token ILLEGAL

if(
    ($('input:radio[name=group1]:checked').val() == 'Yes') &#038;&#038; 
    ($('input:radio[name=group2]:checked').val() == 'Yes') &#038;&#038; 
    ($('input:radio[name=group3]:checked').val() == 'Yes') &#038;&#038; 
    ($('input:radio[name=group4]:checked').val() == 'Yes') 
){ 
+0

注意,你需要清理你包含的腳本。我看到至少有三種不同的jQuerys。 – Dennis

相關問題