单击联系表单字段时的图像更改

时间:2013-01-22 20:03:07

标签: javascript image replace onclick contact

我目前在我的网站上有一个联系表单,点击后突出显示橙色的边框。

此时字段中有灰色的图标(请参阅此处查看打印屏幕:http://i47.tinypic.com/2d6mvwp.jpg),我试图获取它,以便在点击字段时图像从灰色变为橙色版。因此,字段图标和边框基本上会同时突出显示,具体取决于单击哪一个。

我希望这对某人来说很简单,我认为我最挣扎的主要是图像是通过CSS引用的

表格的HTML部分在这里:

    <form method="post" action="contactengine.php">

            <label for="Name"></label>
            <input type="text" placeholder="Name" name="Name" id="Name" 


            <label for="Email"></label>
            <input type="text" placeholder="E-mail" name="Email" id="Email" />

            <label for="Message"></label><br />
            <textarea name="Message" placeholder="Enter your message here..." rows="20" cols="20"></textarea>

            <input type="image" name="submit" value="" src="Button_Static.png" onmouseover="this.src='Button_Hover.png'" onmouseout="this.src='Button_Static.png'" class="submit-button"/>

        </form>

并且名称和电子邮件字段后面的CSS在这里(道歉,代码块无法让我正确插入):

#Name{
    background-image: url(NameIcon.png);
    background-repeat: no-repeat;
    background-size:32px 24px;
    background-position-x: 10px;
    background-position-y: 40%;
    padding: 5px;
    height: 30px;
    width: 350px;
    font-family: Helvetica, sans-serif;
    font-size: .8em;
    margin: 0px 0px 10px 0px;
    border: 2pt solid #ccc;
    text-indent: 50px;

    /* Curved Boxes - Browser Compatability */

    -moz-border-top-left-radius: 8px;
    border-top-left-radius: 8px;
    -moz-border-top-right-radius: 8px;
    border-top-right-radius: 8px;
    -moz-border-bottom-left-radius: 8px;
    border-bottom-left-radius: 8px;
    -moz-border-bottom-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

#Email {
    background-image: url(EmailIcon.png);
    background-repeat: no-repeat;
    background-size:30px 17px;
    background-position-x: 12px;
    background-position-y: 40%;
    padding: 5px;
    height: 30px;
    width: 350px;
    font-family: Helvetica, sans-serif;
    font-size: .8em;
    margin: 0px 0px 10px 0px;
    border: 2pt solid #ccc;
    text-indent: 50px;

    /*Curved text Boxes - Browser Compatability*/

    -moz-border-top-left-radius: 8px;
    border-top-left-radius: 8px;
    -moz-border-top-right-radius: 8px;
    border-top-right-radius: 8px;
    -moz-border-bottom-left-radius: 8px;
    border-bottom-left-radius: 8px;
    -moz-border-bottom-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

2 个答案:

答案 0 :(得分:2)

执行另一种CSS样式并使用:焦点将应用于具有焦点的输入元素。只需将图像和边框更改为橙色图像:

#Name:focus{
    background-image: url(OrangeIcon.png);
    border: 1px solid orange
}

答案 1 :(得分:0)

你要做的是为触发更新背景图片属性的javascript的字段设置一个onclick或onfocus事件

document.getElementById("email").style.backgroundImage = "url(EmailIconSelected.png)";