html file

 <div id = "right_login">
            <form  id='login' action='login.php' method='POST' name=''>
             <h1>Log in to your account!</h1>
               <?php
                //print errors
                if(array_key_exists('log_error', $_SESSION) && !empty($_SESSION['log_error']))
                {
                    $log_error_r = $_SESSION['log_error'];
                    echo "<span style='background-color:#D00000;'> $log_error_r <br/></span>";
                    unset($_SESSION['log_error']);
                }
              ?>
                <div>
                    <label>Username:</label> 
                    <input type="text" name="username" id="login_username" class="login_field" value="" />
                </div>           

                <div>
                    <label>Password</label>
                    <input type="password" name="password" id="login_password" class="login_field" value=" "/>
                 </div>          

                <p class="forgot"><a href="#">Forgot your password?</a></p>
                <div id="submit">
                     <button type="submit">Log in</button>    
                </div>
             </form>
            </div>

jquery file

    var search = "Search...a";
    var username = 'Username';
    var email = 'Email';
    alert(test01);
    $('#login_username').attr('value', search).focusin(function()
    {   alert("test02");
        //$(this).css('background-color', 'yellow');
        if($(this).val() == search)
        {
            $(this).attr('value', '');
        }
    }).focusout(function()
    {
        //$(this).css('background-color', 'white');
        if($(this).val() == '')
        {
            $(this).attr('value', na);
        }
    });

for some reason in jquery file its print "test01" but it doesnt go inside "test02". i dont understand why it wont go insdie a function? am i missing some thing?

Recommended Answers

All 3 Replies

Can you clarify what you mean by

for some reason in jquery file its print "test01" but it doesnt go inside "test02".

I'm not following the logic. Also on line 4 the alert method is passing a variable called test01. Where you trying to pass a string instead?

Member Avatar for stbuchok

Is this page being loaded via AJAX? If so, use delegate instead of focusin and focusout.

my guess is that you load your javascript file at the top of the page before the dom loads, so when line 5 executes, #login_username does not exist yet and so your focusin and focusout handlers are not attached.

You can either move your script tag to the bottom of your html document, or wrap your init code in document.ready:

$(document).ready(function () { [init code here] })

commented: I'm willing to put money on the fact that you are right +8
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.