Anas Khan
Anas Khan

Reputation: 1

Javascript Focus Is Not Working on Aspx Page

Hy Guys,

Please Look at the code and Try to Help Out. The function ive written is not working but its RUNNING properly. Its about To set focus on next content on page im using it on an ASPX page. Heres my code Below :

function SetFocusOnSave(CTag,NTag)
{
    alert('Running'+CTag+NTag);

    var CurrentTag=document.getElementById(CTag);    
    var NextTag = document.getElementById(NTag);

    if ( (event.keyCode==13)||(event.keyCode==9) )    
    {    
        if(CurrentTag.value=="")    
        {    
            alert("Please Enter Detail First");    
            CurrentTag.focus();    
        }

        if(CurrentTag.value!="")
        {
            event.returnValue=true;    
            document.getElementById(NextTag).focus();
        }    
    }
}

snametxt.Attributes.Add("onkeypress",    
              SetFocusOnSave('<%=snametxt.ClientID%>','<%=sdesctxt.ClientID%>');");

Upvotes: 0

Views: 298

Answers (3)

Anas Khan
Anas Khan

Reputation: 1

Hy Guys Ive Tried A NEW CODE AND Fortunately Its Working Fine Here its my Code

function Navigation(CTag, NTag, Number) {

    var CurrentTag = document.getElementById(CTag);
    var NextTag = document.getElementById(NTag);
    var IsNumber = Number; //Checking if value is number

    if (NextTag.disabled == true) {
        NextTag.disabled = false;
        NextTag.className = "txt";
    }

    if (event.keyCode == 9) {
        CurrentTag.focus();
        event.returnvalue = false;
    }

    if (event.keyCode != 9) {
        if (event.keyCode == 13) {
            if (IsNumber == "Y") {

                if (NextTag.disabled == true) {
                    NextTag.disabled = false;
                }
                if (CurrentTag.value != "") {
                    NextTag.focus();
                    event.returnvalue = true;
                }
                if (CurrentTag.value == "") {
                    alert('Please Enter Value To Proceed Further.');
                    CurrentTag.focus();
                    event.returnvalue = false;
                }
                if (isNaN(CurrentTag.value)) {
                    alert("Please Enter A Valid Number");
                    CurrentTag.value = "";
                    CurrentTag.focus();
                }
            }
            if (IsNumber == "N") {
                if (CurrentTag.value == "") {
                    alert('Please Enter Value To Proceed Further.');
                    CurrentTag.focus();
                    event.returnvalue = false;
                }
                if (CurrentTag.value != "") {
                    NextTag.focus();
                    event.returnvalue = true;
                }
            }
        }
    }
};

Thanks ya'll !! :)

Upvotes: 0

Rakesh Sankar
Rakesh Sankar

Reputation: 9415

You have to add return false; after you found the false in validation otherwise the flow will continue till end.

Try this function:

function SetFocusOnSave(CTag, NTag) {

    alert('Running' + CTag + NTag);   
    var CurrentTag = document.getElementById(CTag);    
    var NextTag = document.getElementById(NTag);

    if ((event.keyCode == 13) || (event.keyCode == 9))    
    {

        if (CurrentTag.value == "")    
        {

            alert("Please Enter Detail First");    
            CurrentTag.focus();
            return false;
        } 

        if (CurrentTag.value != "") {
            event.returnValue = true;    
            NextTag.focus();
            return false;
        }
    }

};

Upvotes: 0

Marcello Faga
Marcello Faga

Reputation: 1204

have you tried to replace

document.getElementById(NextTag).focus();

with

NextTag.focus();

?

Upvotes: 1

Related Questions