点击清除内容

时间:2010-02-17 05:56:02

标签: javascript html javascript-events radio-button

所有

在以下代码中

<INPUT TYPE="radio" name="1" id="1" VALUE="1" <?php echo $checked1 ?>><font size="2">1</font>
<INPUT TYPE="radio" name="2" id="2" VALUE="2" <?php echo $checked2 ?>><font size="2">2</font>
<TEXTAREA name="names" id="names" rows="15" cols="65"><?php echo $names ?></TEXTAREA>

如果第一次选择单选按钮1然后在textarea上单击,则应清除其内容。但如果用户在同一文本区域第二次单击,则不应为同一单选按钮清除内容。 / p>

同样应该对单选按钮2有好处。如何完成。

感谢。

3 个答案:

答案 0 :(得分:1)

Demo以下是代码:

<TEXTAREA name="names" id="names" rows="15" cols="65" onclick="doIt(this);">Hello There</textarea>

<script>
var isDone = false;

function doIt(field)
{
  if (document.getElementById("1").checked == true && isDone == false)
  {
     field.value = "";
     isDone = true;
  }
}
</script>

这将首次清除内容,而不会再次清除页面的生命周期。

答案 1 :(得分:1)

这将满足您的要求。只需放入正文标记

<input type="radio" name="G1"  id="1" value="1" /> <font size="2">1</font>
<input type="radio" name="G1" id="2" value="2"  /> <font size="2">2</font>
<textarea name="names" id="names" rows="15" cols="65" onfocus="handleOnFocus()"></textarea>

<script type="text/javascript">
    var isCleardForButton1 = false;
    var isCleardForButton2 = false;

    function handleOnFocus() {
        var objTA = document.getElementById("names");
        var objRadio1 = document.getElementById("1");
        var objRadio2 = document.getElementById("2");
        if (isCleardForButton1 == false && objRadio1.checked == true) {
            objTA.value = "";
            isCleardForButton1 = true;
        }
        if (isCleardForButton2 == false && objRadio2.checked == true) {
            objTA.value = "";
            isCleardForButton2 = true;
        }
    }
</script>

答案 2 :(得分:0)

编辑:看起来我误解了你的要求。这仅适用于单击单选按钮,而不适用于textarea。

您需要设置点击事件以清除textarea内容,然后取消绑定。

使用jQuery,事件处理程序将类似于:

$('#names').val('');
$(this).unbind('click');