0

現在、サイトに連絡先フォームがあり、クリックすると境界線がオレンジ色で強調表示されます。

現時点ではグレーのフィールドにアイコンがあります(印刷画面についてはこちらを参照してください: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;
}
4

2 に答える 2

2

別のCSSスタイルを実行し、フォーカスのある入力要素に適用される:focusを使用します。そこにある画像と境界線をオレンジ色のものに変更するだけです。

#Name:focus{
    background-image: url(OrangeIcon.png);
    border: 1px solid orange
}
于 2013-01-22T20:12:41.067 に答える
0

あなたがすることは、背景画像プロパティを更新するjavascriptを起動するフィールドのonclickまたはonfocusイベントを持つことです

document.getElementById("email").style.backgroundImage = "url(EmailIconSelected.png)";
于 2013-01-22T20:16:43.103 に答える