Различный класс (textcolor) в форме javascript - PullRequest
1 голос
/ 08 февраля 2011

У меня проблема в том, что я не могу установить два разных цвета текста (с помощью классов CSS) в следующей форме javascript. Стандартный класс - серый (серый цвет текста), но после того, как кто-то нажмет кнопку «Введите свою почту», текст для ввода текста должен быть черным. (класс черный). Кто-нибудь может мне помочь?

<form name="mainform" method="post">
     Your email: <input type="text" size="40" class="grey" name="email" value="{{ fields.email.input }}" onclick="ClearIfAppropriate();">{{ fields.email.error }} &nbsp; <input type="submit" name="submit" value="Go">
</form>
<script type="text/javascript" language="JavaScript"><!--
    var LabelText = "Type your email here";
    if(document.mainform.email.value.length == 0) {
        document.mainform.email.value = LabelText;
    }
    function ClearIfAppropriate() {
        if(document.mainform.email.value == LabelText) {
            document.mainform.email.value = "";
            document.mainform.email.class = "black";
        }
    }
//--></script>

CSS классы

.grey {
    color: grey;
}

.black {
    color: black;
}

Ответы [ 3 ]

3 голосов
/ 08 февраля 2011

Это легко выполнимо в чистом CSS. Нет необходимости в javascript:

input.grey:focus
{
   color: #000;
}

Хотя я думаю, что <8 не поддерживает псевдокласс <code>:focus.

1 голос
/ 08 февраля 2011

Атрибут, который вы хотите изменить:

className

Смотрите здесь http://www.jsfiddle.net/dduncan/hdtvr/

0 голосов
/ 08 февраля 2011

Дайте идентификатор для вашего ввода (id = "idElement") и

вместо: document.mainform.email.class = "black";

попробовать:

document.getElementById ("idElement"). SetAttribute ("class", "className");

Должен это сделать.

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