我想在选中文本框上方的单选按钮时清除文本框。
我试过这个:
function clearThis(target){
target = document.getElementById(target);
target.value = "";
}
<input type="radio" name="not_req" id="clear_req" value=""
title="Click here to clear the No Auth need flag"><span id="clear" onclick = 'clearThis("claims")' >Clear
我想清楚的方框是
<input type="text" size="5" name="auth_for" id="claims" value="{$prior_auth->get_auth_for()}" title="Set the number of times no auth can be used">
从http://jsfiddle.net/BMrUb/中解决了大部分问题,但我可以看到该示例正在清除相邻的文本框。我想清除一个与单选按钮不相邻的文本框。
答案 0 :(得分:1)
正如Gerald所说,将onclick=""
放在<input type="radio" ... >
,而不是<span>
。
答案 1 :(得分:0)
问题在于它是兄弟输入元素需要清除值而不是跨度,即使你只想在人们点击span元素时清除它。所以下面的示例代码就是这样做的。您最好通过使用事件侦听器(而不是使用旧式onclick
属性)将您的JavaScript与HTML分离。
var clearSpanEl = document.getElementById("clear");
clearSpanEl.addEventListener("click", function(e) {
var inputEl = e.target.previousElementSibling;
inputEl.value = "";
}, false);
<input type="text" name="search" id="search" value="I can be cleared" />
<span id="clear">Clear results</span>
我已经分叉了你的JSFiddle here,所以你可以看到它正常工作。