首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript函数中检索“Asp.net ()”值时出现确认问题

在JavaScript函数中检索“Asp.net ()”值时出现确认问题
EN

Stack Overflow用户
提问于 2018-10-10 08:16:58
回答 1查看 66关注 0票数 1

我想知道为什么Java脚本函数没有正确地返回确认值。

我有这个按钮:

代码语言:javascript
复制
<asp:Button ID="btnSaveAgreement" runat="server" UseSubmitBehavior="false" Text="Save" OnClientClick ="ConfirmSaveWithoutSendEmail(this);" />

我有这个Java脚本函数:

代码语言:javascript
复制
 function ConfirmSaveWithoutSendEmail(btnToDisableWhileSubmitting)
    {           
        var IsPanelToSendEmailVisible = document.getElementById('<%= hfIsSendEmailPanelVisible.ClientID%>').value; 

        if (IsPanelToSendEmailVisible > 0)
        {
            //This section takes a confirmation "Ok/Cancel" to submit or not 
            //the data, the problem is that if I choose "Cancel", the code 
            //on the button is executed, the behavior I would except is such 
            //that selecting "Cancel"  the code on my button is not 
            //executed.

            return confirm("Do you want to save without send email?");
        }
        else
        {                
            //this section disable the button while submitting information, 
            //this section works fine.

            if (!Page_ClientValidate())
                return false;

            btnToDisableWhileSubmitting.disabled = true;
            btnToDisableWhileSubmitting.value = 'Saving...';
            return true;
        }
      }

为什么选择的确认值总是被认为是真?

我想知道我错过了什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-10 08:26:51

问题是,您在OnClientClick属性中设置的代码实际上并没有返回任何东西,它只是执行ConfirmSaveWithoutSendEmail函数,而不是实际使用它的返回值。您还应该设置UseSubmitBehavior="true",以便它在单击时提交表单。试试这个:

代码语言:javascript
复制
<asp:Button ID="btnSaveAgreement" runat="server" UseSubmitBehavior="true" Text="Save" OnClientClick="return ConfirmSaveWithoutSendEmail(this);" />

if语句的else部分也将不起作用,因为您在按钮提交表单之前禁用了该按钮。您需要在表单的submit事件中禁用表单:

代码语言:javascript
复制
document.getElementById('yourFormId')
    .addEventListener('submit', function() { 
        var submitBtn = document.getElementById('<%= btnSaveAgreement.ClientID %>');
        submitBtn.disabled = true;
        submitBtn.value = 'Saving...';
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52730943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档