1.11M Members

basic jquery function

 
0
 

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?

 
0
 

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?

 
0
 

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

 
1
 

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] })

Isn't it about time forums rewarded their contributors?

Earn rewards points for helping others. Gain kudos. Cash out. Get better answers yourself.

It's as simple as contributing editorial or replying to discussions labeled or OP Kudos

You
This article has been dead for over six months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article