2016-12-30 4 views
0

У меня есть веб-страница, которую я разрабатываю с помощью Visual Basic под .net 4.0. У меня есть простая страница с несколькими кнопками. Когда я нажимаю на определенную кнопку, я выполняю функцию javascript, которая использует jalert(). Предупреждение появляется правильно, но затем закрывается само по себе, без необходимости нажимать кнопку ОК в отображаемом диалоговом окне.пользовательское предупреждение jquery автоматически закрывается

Это код моей страницы:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="test.aspx.vb" Inherits="AccuRecordDirect.test1" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title id="titleTag"> 
</title>  
<meta name="viewport" content="width=device-width, initial-scale=1" /> 
<link href="~/bootstrap/content/bootstrap.css" type="text/css" rel="stylesheet" />  
<script src="~/bootstrap/Scripts/jquery-1.9.1.js" type="text/javascript"></script> 
<script src="../../bootstrap/scripts/js/jquery/jquery.js" type="text/javascript"></script> 
<script src="../../bootstrap/scripts/js/jquery/jquery.ui.draggable.js" type="text/javascript"></script> 
<script src="../../bootstrap/scripts/js/jquery/jquery.alerts.js" type="text/javascript"></script> 
<link href="../../bootstrap/scripts/js/jquery/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" /> 

<script src="~/bootstrap/Scripts/bootstrap.js" type="text/javascript"></script> 
<link href="~/Styles/Site_vsta.css" rel="stylesheet" type="text/css"/> 
<link href="~/bootstrap/content/Site_vsta.css" type="text/css" rel="stylesheet" /> 

<style type="text/css"> 
@media (min-width:992px) { 
.mobile-only {display:none;} 
} 

@media (max-width: 991px) { 
.desktop-only {display:none;} 
} 
</style> 

</head> 

<body> 
<form id="form1" runat="server"> 
    <div class="container body-content"> 
     <div class="row">    
      <div class="col-sm-7 col-sm-offset-1"> 
       <div class="panel panel-default mobile-only" style="margin-left:auto; margin-right:auto;"> 
        <div class="panel-heading""> 
         <asp:Label ID="Label7" runat="server" Text="Online Enrollment - Investment Elections" CssClass="panel-title mobile-only"></asp:Label> 
        </div> 
        <div class="panel-body"> 
         <div class="row"> 
          <div class="col-sm-10 col-sm-offset-1"> 
           <asp:Label ID="Label3" runat="server" Text="Select how you want to set up your investment elections and click the <B><I>Next</I></B> button below." CssClass="control-label mobile-only"></asp:Label> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-sm-10 col-sm-offset-1"> 
           <asp:Label ID="Label6" runat="server" Text="&nbsp;" CssClass="control-label mobile-only"></asp:Label> 
          </div> 
         </div> 
         <div class="row"> 
          <div class="col-sm-10 col-sm-offset-1"> 
           <asp:Button ID="btnCancel_M" runat="server" Text="Cancel" CssClass="btn btn-primary btn-sm mobile-only" /> 
           <asp:Button ID="btn_Target_M" runat="server" Text="Target" CssClass="btn btn-primary btn-sm mobile-only" /> 
           <asp:Button ID="btn_Risk_M" runat="server" Text="Risk" CssClass="btn btn-primary btn-sm mobile-only" /> 
           <asp:Button ID="btn_Select_M" runat="server" Text="Select" CssClass="btn btn-primary btn-sm mobile-only" /> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</form> 

<script type="text/javascript" language="javascript"> 
    function showPopup_M() { 
     jAlert('We encourage you to take the investment risk', 'Risk Category Selected'); 
    }  
</script> 

</body> 
</html> 

И это мой отделенного кода:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If (Not Page.IsPostBack) Then 
     Me.btn_Risk_M.Attributes.Add("onclick", "javascript:showPopup_M();") 
    End If 
End Sub 

Любая помощь очень ценится.

Спасибо, Джонатан

ответ

1

Ваша кнопка выполняет форму пост (Postback). Это нормальное поведение. PostBack обновит страницу, чтобы любые действия на стороне клиента, выполненные с помощью javascript, были потеряны.

Изменить атрибут кнопки для

btn_Risk_M.Attributes.Add("onclick", "showPopup_M(); return false;") 

Или, если вы не используете asp.net функции этой кнопки (OnClick, видимость и т.д.), вы можете изменить его в не САША один.

<input type="button" onclick="showPopup_M()" value="Risk" class="btn btn-primary btn-sm mobile-only" /> 
Смежные вопросы