2013-10-03 83 views
1

我有一個HTML表單,當我選擇其中一個單選按鈕時,我試圖讓文本字段顯示某些文本。到目前爲止,我已經在哪裏如果我點擊按鈕,它會在文本字段中顯示正確的文本。我的目標是消除「單擊」按鈕,並在我選擇單選按鈕時立即使文本字段顯示文本。我怎樣才能在Javascript中做到這一點?當選擇單選按鈕時填充文本字段

我知道textfields有一個'OnKeyUp'事件,但我似乎無法弄清楚單選按鈕是否有某種類似的東西,可以讓我確定何時被選中。我嘗試過OnChange和OnFocus事件,但也許我做錯了,因爲我無法讓這些工作。任何和所有的建議非常感謝。

這是我到目前爲止有:

<HTML> 
    <HEAD> 
    <TITLE>Test Input</TITLE> 
    <SCRIPT LANGUAGE="JavaScript"> 
     function testResults (form) { 
     var TestVar1 = form.input[0].checked; 
     var TestVar2 = form.input[1].checked; 
     if (TestVar1 == true) { 
      form.textbox.value = "red"; 
     } else if (TestVar2 == true){ 
      form.textbox.value = "blue"; 
     } else if (TestVar1 == false && TestVar2 == false) { 
      form.textbox.value = ""; 
     } 
     } 
</SCRIPT> 
</HEAD> 
<BODY> 
<FORM NAME="myform" ACTION="" METHOD="POST">Choose a Color: <BR> 
    <INPUT TYPE="radio" NAME="input" VALUE="red">red<P> 
    <INPUT TYPE="radio" NAME="input" VALUE="blue">blue<P> 
    <INPUT TYPE="button" NAME="button" VALUE="Click" onClick="testResults(this.form)"> 
    <P>Selected:</P> <INPUT TYPE="text" ID="textbox" NAME="selected" VALUE=""></div><p> 

</FORM> 
</BODY> 
</HTML> 

回答

2

變化的代碼下面兩行添加onchange事件:

TYPE="radio" NAME="input" VALUE="red" onchange="testResults(this.form) 
TYPE="radio" NAME="input" VALUE="blue" onchange="testResults(this.form) 

如果不工作,也可能是您的瀏覽器。 document.getElementByID是除所有瀏覽器外的對象

+0

謝謝!我在'testResults(this.form)'中忘記了'this'' –

+0

只是關於不同瀏覽器行爲的一個註釋: 在Firefox中它很棒!在Internet Explorer中,它需要在確認更改之前單擊單選按鈕外的某個位置。 –

相關問題