2011-11-17 132 views
0

问题:确认框javascript

我有一个确认框,弹出每当我点击保存按钮。当我点击确定时,它可以保存数据。但是当我点击取消时,它不会取消更改。它可以保存它们。你能帮我解决这个问题:

这里是JavaScript它:

/ 
<asp:Button ID="view_btn_save" Text="Save" ValidationGroup="view" OnClick="view_btn_save_click" 
         OnClientClick="Validate_view()" runat="server" 
         />       
       </td> 
       <script type="text/javascript"> 
        function Validate_view() { 
         var value = document.getElementById('<%=view_txt_name.ClientID%>').value; 
         var value2 = document.getElementById('<%=view_txt_title.ClientID%>').value; 
         var value3 = document.getElementById('<%=view_txt_description.ClientID%>').value; 
         var value4 = document.getElementById('<%=view_txt_pixelwidth.ClientID%>').value; 
         var value5 = document.getElementById('<%=view_txt_pixelheight.ClientID%>').value; 

         if (value == '' || value2 == '' || value3 == '' || value4 == '' || value5 == '') { 
          return alert('Please enter the missing fields'); 
         }       
         else { 
          return confirm('Confirm changes?'); 
         } 
        } 

回答

4

你需要一个return语句添加到OnClientClick声明:

OnClientClick="return Validate_view();" 

的情况下你会显示一个提醒,我会将你的代码更改为:

alert("..."); 
return false; 

编辑:这是一个完整的例子

<script type="text/javascript"> 
    function Validate_view() { 
     var value = document.getElementById('<%=view_txt_name.ClientID%>').value; 
     var value2 = document.getElementById('<%=view_txt_title.ClientID%>').value; 
     var value3 = document.getElementById('<%=view_txt_description.ClientID%>').value; 
     var value4 = document.getElementById('<%=view_txt_pixelwidth.ClientID%>').value; 
     var value5 = document.getElementById('<%=view_txt_pixelheight.ClientID%>').value; 

     if (value == '' || value2 == '' || value3 == '' || value4 == '' || value5 == '') { 
      alert('Please enter the missing fields'); 
      return false; 
     }       
     else { 
      return confirm('Confirm changes?'); 
     } 
    } 
</script> 
<asp:Button ID="view_btn_save" runat="server" Text="Save" OnClientClick="return Validate_view()" OnClick="view_btn_save_click" />       
+0

RightNow公司,正在发生的事情是,当我在警报中单击确定它运行一个存储过程来保存数据时,它不应该。它只应在返回确认(...)为真时执行该操作。有关如何阻止此问题的任何建议? – Ish

+0

是的,你只需要将return语句添加到你的'OnClientClick'中,并在显示警告之后返回false。你需要的一切应该在我的答案中。 –

+0

这是在我尝试完你的代码之后发生的。我加了完全一样的东西,但它给了我一个我上面提到的错误。 – Ish