Очистить содержимое по клику - PullRequest
0 голосов
/ 17 февраля 2010

All

В следующем коде

<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 выбран в первый раз, нажмите на текстовое поле, чтобы очистить его содержимое. Но если пользователь щелкнет второй раз в той же области текста, содержимое не должно быть очищено для того же переключателя1.

То же самое должно сработать для радио-кнопки2.Как это сделано?

Спасибо.

Ответы [ 3 ]

1 голос
/ 17 февраля 2010

Демо и вот код:

<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 голос
/ 17 февраля 2010

Это удовлетворит ваше требование. просто поместите в тело тег

<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>
0 голосов
/ 17 февраля 2010

edit: Похоже, я неправильно понял ваши требования. Это относится только к щелчку переключателя, а не к текстовой области.

Вам необходимо настроить событие щелчка, чтобы очистить содержимое текстовой области, а затем отменить привязку.

В jQuery обработчик событий будет выглядеть примерно так:

$('#names').val('');
$(this).unbind('click');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...