2012-03-05 153 views
0

我必須附加到HTML表單中的單選按鈕的文本輸入區域如下所示:HTML表單輸入 - 選擇

<fieldset class="w100"> 
         <div class="rowElem align-left"> 
          <input type="radio" id="plan_height" name="plan_height" value="standard6'2&quot;" checked > 
          <label>Standard 6'2"</label> 
         </div> 
         <div class="rowElem align-left"> 
          <input type="radio" id="other_text" name="plan_height" value="Other height" onclick="document.getElementById('other_height').focus();" > 
          <input type="text" id="other_height" name="plan_height" value="Enter custom height" onFocus="if(this.value=='Enter custom height') this.value='';" onBlur="if(this.value=='') this.value='Enter custom height';"> 
          <label for="other_text">Other</label> 
         </div> 
         </fieldset> 

如果用戶的「其他選擇第二個單選選項, 「我希望文本框自動對焦,讓他們輸入一個值。另外,如果用戶單擊文本框輸入值,我希望單選按鈕可以自動爲它們選擇此選項。

我試過在窗體元素上使用onBlur或onChange或onKeyup,但似乎無法讓它工作。

+0

你開到使用jQuery ? – 2012-03-05 17:26:02

+0

當然,但如果可能的話,我想保持它更簡單,只需包含在onKeyup或onChange表單事件中。 – adamdehaven 2012-03-05 17:26:53

+1

你能告訴你如何嘗試使用onBlur/onChange/onKeyup嗎?另外,您是否可以確認第一個無線電控制的ID和值? – 2012-03-05 17:27:06

回答

0

檢查了這一點http://jsfiddle.net/tzj6Z/7/

對於跨瀏覽器支持,你必須添加broswer檢測這樣

if(navigator.userAgent.indexOf('Firefox')>=0) { // Firefox 
    focus_event = 'focus'; 
} else if (navigator.userAgent.indexOf('Safari')) { // Opera, Safari/Chrome 
    focus_event = 'DOMFocusIn'; 
} else { // IE 
    focus_event = 'onfocusin'; 
} 
+0

這似乎沒有做任何事情..? – adamdehaven 2012-03-05 17:47:36

+0

我已更新鏈接...再次檢查 – Abhidev 2012-03-05 17:49:04

+0

是否需要將JS放入我的JS文件中?或者只是表單中的代碼? – adamdehaven 2012-03-05 17:50:11

2

您是否嘗試過onclick事件:onclick="document.getElementById('other_height').focus();"

+0

當單擊單選按鈕時,它專注於文本字段!但 - 如果用戶只是在文本框中單擊,我需要它自動選擇收音機buttong(幾乎與剛剛給我的代碼相反) – adamdehaven 2012-03-05 17:36:31