[問題] Js取得radio值一問

看板Web_Design作者 (F7有鳥)時間16年前 (2009/10/10 13:46), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
今天試著從這看似簡單的小網頁練習 沒想到試了老半天 還是無法成功... 想請各位幫我指點指點.. 我的網頁 是用一簡單表單 內含兩個radio 我透過 (1) document.myform.R1.value ----> 用alert出現undefined (2) document.getElementsByName("R1").value --> 也是用alert出現undefined 都不能得到我在表單中點選的是哪一個選項 我知道可以用 checked的方式來查R1[0]的布林值 但是我這裡想透過名字試看看 畢竟萬一有三個以上的選項就沒輒了 麻煩各位了~ (以下是我的程式碼 有註明bug-a 以及 bug-b) ___________________________________________________________________ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "" rel="nofollow">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="" rel="nofollow">http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5" /> <script language="javascript"> function Change(){ var str = new String(); str = document.myform.input.value; //用法1 //str = document.getElementByName("input").value; // bug-a 用法2 無法用 alert(str); //bug-b 以下兩種方法皆無法用 //alert(document.myform.R1.value); // undefined? //alert(document.getElementsByName("R1").value); // undefined? } </script> </head> <body> <form name="myform"> 輸入語句: <input type="text" name="input" size="30"><br> 轉大寫<input type="radio" name="R1" value="big" >&nbsp;&nbsp;轉小寫<input type="radio" name="R1" value="small" checked><br> <input type="button" name="Turn" value="轉換" onclick="Change();" > <BR><br> <!-- bug --> 轉換結果: <input type="text" name="result" size="30"><br> </form> </body> </html> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.126.165.88

10/10 14:17, , 1F
getElementsByName,少了s,另外這樣得到的是NodeList
10/10 14:17, 1F

10/10 14:23, , 2F
成功了 只是這樣得到的都是未定義 可是name 都定義好了說
10/10 14:23, 2F
※ 編輯: F7yobird 來自: 122.126.165.88 (10/10 14:23)

10/10 14:27, , 3F
getElementsByName('R1')得到的是陣列,你.value就會未定義
10/10 14:27, 3F

10/10 14:28, , 4F
指定一下就有了 getElementsByName("R1")[0].value
10/10 14:28, 4F

10/10 15:14, , 5F
謝謝 原來是書印錯了 getElementByName有s, get id沒有
10/10 15:14, 5F
文章代碼(AID): #1Aq1-_aZ (Web_Design)