1

我正在制作一个漂亮的登录系统,所以我想在表单中输入内容时更改文本的颜色,但我无法弄清楚如何,我为他们分配了一个类来使其工作,但它似乎不起作用.

HTML:-

    <div class="Login">
                <form name="form1" method="get" action="index.php">
                <input type="text" value="Username" name="Username" onblur="if (this.value === '') {this.value = 'Username'; this.class='Offline';}" onfocus="if (this.value === 'Username') {this.value = ''; this.class='Online';}">
                <input type="text" value="Password" name="Password" onblur="if (this.value === '') {this.value = 'Password';}" onfocus="if (this.value === 'Password') {this.value = '';}">
                <input type= "Submit" Name= "Submit" value= "Login" class="Button">
                </form>
    </div>

我在这些类上更改 CSS 中的颜色。但它似乎不起作用,任何人都可以在这里指导我,我没有很多 javascript 脚本经验,所以我不想去那一边

4

4 回答 4

0

使用this.className而不是this.class

 <input type="text" value="Username" name="Username" onblur="if (this.value === '') {this.value = 'Username'; this.className='Offline';}" onfocus="if (this.value === 'Username') {this.value = ''; this.className='Online';}">

JsFiddle 演示

于 2013-10-21T14:48:16.807 回答
0

this.className改为使用this.class

<input type="text" value="Username" name="Username" onblur="if (this.value === '') {this.value = 'Username'; this.className='Offline'}" onfocus="if (this.value === 'Username') {this.value = ''; this.className='Online';}">

例子

更新

您必须更改条件,因为条件不满足并且未应用类:

<input type="text" value="Username" name="Username" onblur="if (this.value != '') <-- Here {this.value = 'Username'; this.className='Offline'}" onfocus="if (this.value === 'Username') {this.value = ''; this.className='Online';}">

更新小提琴

于 2013-10-21T14:49:38.203 回答
0

您是否尝试过使用 Jquery?

$(this).attr('class','yourclass');

或者

$(this).removeClass('Offline');
$(this).addClass('Online');
于 2013-10-21T14:54:09.600 回答
0

您应该使用 setAttribute 和 getAttribute 方法而不是 class 或 className 属性。

于 2013-10-21T14:57:05.770 回答