javascript onclick radio clear textbox

时间:2016-03-28 15:34:28

标签: javascript html

我想在选中文本框上方的单选按钮时清除文本框。

我试过这个:

 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/中解决了大部分问题,但我可以看到该示例正在清除相邻的文本框。我想清除一个与单选按钮不相邻的文本框。

2 个答案:

答案 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,所以你可以看到它正常工作。