TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   Absolute Beginners (http://www.talkphp.com/absolute-beginners/)
-   -   onfocus and onblur events -- I'm confused, of course... (http://www.talkphp.com/absolute-beginners/5037-onfocus-onblur-events-im-confused-course.html)

Dave 10-18-2009 09:11 PM

onfocus and onblur events -- I'm confused, of course...
 
This is the first time I have dealt with onfocus and onblur. I researched it, so I know a little more that I did.

In the following example snippet, however, I don't get the \" part. I know that the \ is used to escape the next character. However, I'm still confused. So, my questions are:

1. Is the coding in the onfocus example a Javascript applet? (...don't know javascript..)
2. What is the \" doing?

Thanks,
Dave

PS. I did not compose the example code below. (Unlike my code, it works.)

PHP Code:

<?php

if (!$username&&!$userid)
  echo 
"<span class='bigheader'>
              <img src='login.png'>
        </span>
        <p>" 
;
else
     echo 
"<p><a href='logout.php'>Log out</a><p>
        <form action='user.php'
              method='GET'
              style='display:inline;'>
          <input type='text'
                 size='15'
                 value='Jump to member'
                 name='user'
--->             onFocus=\"if (this.value == 'Jump to member')
                           { this.value=''; }\"
--->             onblur =\"if (this.value == '')
                           { this.value='Jump to member'; }\">
                 <br>
          <input type='submit'
                 value='GO'><p>
        </form>
       " 
;
?>


Jim 10-19-2009 09:58 AM

When in PHP, a double quote (") marks the start or end of a string (line of text). When you want to use a double quote in a string, you will have to tell PHP that you are not using the double quote to end or start the string, but that it has to be part of the string itself. Do to so, you just have to add a slash before the double quote and PHP understands.

So basically:

echo "your name is "jimmy"!"; // wrong, will result in an error
echo "your name is \"jimmy\"!"; // right, will give us: your name is "jimmy"

Dave 10-20-2009 12:54 AM

Thanks. I "thought" I understood that the \ character allowed the next character to not be literally taken (e.g., \n). However, I have now re-learned that it depends on the character, e.g., \" vs \t, etc.

Much obliged.


All times are GMT. The time now is 08:37 AM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0