2011-08-04 49 views
1

好的,所以在這裏我完全失去了一點,我是一個初學者。javascript值爲空

我的一個朋友有一個電臺網站,它是一個非常古老的網站。

有一種可以提升用戶的表單。

此表單有一個名爲dj的單選按鈕,值爲yes或no。

並在索引頁面上顯示用戶列表。

我想這樣做,如果這個單選按鈕被選中,而不是在用戶名後面添加一個小的dj圖像。

但無論我做什麼,我總是得到null值。

頁眉和頁腳都包含在兩個文件中,如果我正確的,假設給出的結果不是?我把它放在頁腳,因爲它返回nulll作爲結果

var dj = document.getElementById("dj"); 
alert(dj.value); 

我試過機智的wondow.onload函數沒有任何反應。

我真的很想在JavaScript中做這個練習。

請問有人請解釋我缺少什麼,爲什麼我不能讓這個顯示在索引上?它有可能無法做到嗎?

要gentlle請即時通訊一個非常大的初學者:)

+0

當你提醒(dj);' – nthpixel

+2

@Side時,會發生什麼?你是否將單選按鈕之一的id設置爲「dj」而非名稱。名稱和ID是不同的東西 – Pradeep

+0

smae的東西返回null – Side

回答

1

嘗試

alert(dj.checked); 

,如果你創建了單選按鈕smiler這個

它會提醒true或false,具體取決於單選按鈕的狀態
<input type="radio" name="music" value="test" id="dj"> 
+0

感謝zou,zes它是類似的,並且工作正常,但是m問題是,在我運行edit.php腳本時它的確定返回了walue,但是如果我在頁腳上運行它什麼都沒有 – Side

-2

我將引用jQuery庫,並使用此代碼:

$(document).ready(function() { 
    alert($("#dj").val()); 
}); 
+0

「我真的很想練習在JavaScript中做這個。「 –

+0

顯然還有另一個潛在的問題,無法通過「使用jQuery」 –

1

我已經創建了一個工作示例(雖然不夠高雅),它說明了自從您提到您是初學者之後需要完成的工作。

http://sente.cc/misc/radio_button_test.html

的代碼是:

<html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <title>radio buttons</title> 
    <script> 
     var testit = function(){ 
     var radioyes = document.getElementById('idyes'); 
     var radiono = document.getElementById('idno'); 

     if (radioyes.checked){alert(radioyes.value);} 
     if (radiono.checked){alert(radiono.value);} 
     }; 
    </script> 
    </head> 
    <body> 
    <form> 
     DJ: 
     <br> 
     <input id="idyes" type="radio" name="sex" value="yes" /> Yes<br /> 
     <input id="idno" type="radio" name="sex" value="no" /> No 
    </form> 
    </body> 
    <span style="background:lightblue;" onclick="javascript:testit()">click here to run javascript</span> 
</html> 

還有的要對這個更好的方法。 (例如遍歷所有無線電元素,直到遇到一個具有true.checked屬性)

0

可能兩個單選按鈕都具有相同的ID,因此此類代碼無法工作。

相反,試試這個:(假設你只有一個形式)

var oForm = document.forms[0]; 
var value = ""; 
for (var i = 0; i < oForm.elements.length; i++) { 
    var el = oForm.elements[i]; 
    if (el.type == "radio" && el.name == "dj" && el.checked) { 
     value = el.value; 
     break; 
    } 
} 
alert("selected value: " + value); 

的代碼是非常簡單的。

Live test case