Solved

JavaScript "return false" not stopping postback on asp:LinkButton click

Posted on 2008-10-02
3
2,791 Views
Last Modified: 2012-06-27
I've got some simple JavaScript that fires on a asp:LinkButton click to mare sure certain TextBoxes on the from are not null before being sent to the server.  The JavaScript is being fired, displaying a popup prompt to the user if a textbox is empty, however the JavaScript "return false" is not stopping the postback/OnClick events from firing.  Please advise.  Attached is the code.

Thanks,

Pete
*****************
    ASP:
*****************
<asp:LinkButton 
    ID="linkScheduleEmail" 
    runat="server" 
    Text="Schedule"
    OnClick="Email_ScheduleDelivery" 
    CssClass="Link-Black" 
    OnClientClick="javascript:CheckEmailBeforeSchedule()" />
<asp:LinkButton 
    ID="linkEmailSend" 
    runat="server" 
    CssClass="Link-Black" 
    Text="Send Now" 
    OnClick="Email_Send" 
    OnClientClick="javascript:CheckEmailBeforeSend()" />
 
 
*****************
   JavaScript:
*****************
//<!--
 
function CheckEmailBeforeSend()
{
    var tbSendTo = document.getElementById('ctl00_ContentPlaceHolder1_tbEmailTo');
    var tbSendSubject = document.getElementById('ctl00_ContentPlaceHolder1_tbEmailSubject');
    
    if(tbSendTo.value == "")
    {
        alert("ERROR: No Recipient Address Specified!");
        return false;
    }
    else if(tbSendSubject.value == "")
    {
        alert("ERROR: No Subject Defined!");
        return false;
    }
}
 
function CheckEmailBeforeSchedule() 
{
    var tbScheduleTo = document.getElementById('ctl00_ContentPlaceHolder1_tbEmailTo');
    var tbScheduleSubject = document.getElementById('ctl00_ContentPlaceHolder1_tbEmailSubject');
    var tbScheduleDate = document.getElementById('ctl00_ContentPlaceHolder1_tbEmailDate');
    
    if(tbScheduleTo.value == "")
    {
        alert("ERROR: No Recipient Address Specified!");
        return false;
    }
    else if(tbScheduleSubject.value == "")
    {
        alert("ERROR: No Subject Defined!");
        return false;
    }
    else if(tbScheduleDate.value == "")
    {
        alert("ERROR: No Schedule Date Assigned!");
        return false;
    }
}
 
//-->

Open in new window

0
Comment
Question by:P1ST0LPETE
3 Comments
 
LVL 24

Accepted Solution

by:
glcummins earned 350 total points
ID: 22625921
Try including the return in the link definition:
    OnClientClick="javascript:return CheckEmailBeforeSchedule()" />

Open in new window

0
 
LVL 5

Assisted Solution

by:gemailj
gemailj earned 150 total points
ID: 22626001
return has no effect without using return before calling the method so you have to use return like this
OnClientClick="javascript:return CheckEmailBeforeSend()"

Open in new window

0
 
LVL 10

Author Closing Comment

by:P1ST0LPETE
ID: 31502445
Works perfect now, Thanks!!!
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question