2011-11-17 133 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