我有一个文本输入区域附加到HTML表单中的单选按钮,如下所示:
<fieldset class="w100">
<div class="rowElem align-left">
<input type="radio" id="plan_height" name="plan_height" value="standard6'2"" 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 :(得分:2)
您是否尝试过onclick事件:onclick="document.getElementById('other_height').focus();"
答案 1 :(得分: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';
}