WordPress.org

Ready to get started?Download WordPress

Forums

displaying a hint box when input field is in focus (1 post)

  1. dragon52x
    Member
    Posted 1 year ago #

    Hi,

    I found some code (html and javascript) on the internet which displays a hint box alongside an input field when it is in focus. When I put the code in a normal html page it works but when I incorporates it into wordpress it doesn't. There is no error but the hint box just doesn't appear. Can someone tell me if anything else is needed in the wordpress environment? Thanks!

    I put the css and javascript in the header.php and the html in the template file. The html in the template file is as follows:

    <?php get_header(); ?>
    
    <?php
      echo '<dl>';
      echo '<dt>';
      echo '<label for="firstname">First Name:</label>';
      echo '</dt>';
      echo '<dd>';
      echo '<input name="firstname" id="firstname" type="text" />';
      echo '<span class="hint">Name in French<span class="hint-pointer">&nbsp;</span></span>';
      echo '</dd>';
      echo '</dl>';
    ?>
    
    <?php get_footer(); ?>

    Here is the long css and javascript code in the header.php

    <style type="text/css">
    
    /* All form elements are within the definition list for this example */
    dl {
    	font:normal 12px/15px Arial;
        position: relative;
        width: 350px;
    }
    dt {
        clear: both;
        float:left;
        width: 130px;
        padding: 4px 0 2px 0;
        text-align: left;
    }
    dd {
        float: left;
        width: 200px;
        margin: 0 0 8px 0;
        padding-left: 6px;
    }
    
    /* The hint to Hide and Show */
    .hint {
       	display: none;
        position: absolute;
        right: -250px;
        width: 200px;
        margin-top: -4px;
        border: 1px solid #c93;
        padding: 10px 12px;
        /* to fix IE6, I can't just declare a background-color,
        I must do a bg image, too!  So I'm duplicating the pointer.gif
        image, and positioning it so that it doesn't show up
        within the box */
        background: #ffc url(pointer.gif) no-repeat -10px 5px;
    }
    
    /* The pointer image is hadded by using another span */
    .hint .hint-pointer {
        position: absolute;
        left: -10px;
        top: 5px;
        width: 10px;
        height: 19px;
        background: url(pointer.gif) left top no-repeat;
    }
    labelx {
    float: left;
    width: 19em;
    margin-right: 0em;
    padding-right:5em;
    text-align: right;
    }
    </style>
    <script type="text/javascript">
    function addLoadEvent(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
        window.onload = func;
      } else {
        window.onload = function() {
          oldonload();
          func();
        }
      }
    }
    
    function prepareInputsForHints() {
    	var inputs = document.getElementsByTagName("input");
    	for (var i=0; i<inputs.length; i++){
    		// test to see if the hint span exists first
    		if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
    			// the span exists!  on focus, show the hint
    			inputs[i].onfocus = function () {
    				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    			}
    			// when the cursor moves away from the field, hide the hint
    			inputs[i].onblur = function () {
    				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    			}
    		}
    	}
    	// repeat the same tests as above for selects
    	var selects = document.getElementsByTagName("select");
    	for (var k=0; k<selects.length; k++){
    		if (selects[k].parentNode.getElementsByTagName("span")[0]) {
    			selects[k].onfocus = function () {
    				this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    			}
    			selects[k].onblur = function () {
    				this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    			}
    		}
    	}
    }
    addLoadEvent(prepareInputsForHints);
    </script>

Topic Closed

This topic has been closed to new replies.

About this Topic