簡體   English   中英

Visual Studio 2012-使用javascript函數

[英]Visual studio 2012- using javascript function

我試圖通過javascript函數更改背景。 顏色會變化,但立即返回其原始顏色。 我做錯了什么? 謝謝

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">
    <title></title>

    <script type="text/javascript">
        function acheck() {
            document.body.style.backgroundColor = "yellow";

        }
    </script> </head>

<body>
    <form id="form1" runat="server">
    <div><p id="p2" >
        <script>  document.body.style.backgroundColor = "blue";

        </script>

         </p>

     <asp:Button ID="Button1" runat="server" OnClientClick="acheck()" Text="Button" />


    </div>

    </form> </body> </html>

更改功能以防止出現默認行為-它將發布表單並重新加載頁面。

<script type="text/javascript">
    function acheck(e) 
    {
        document.body.style.backgroundColor = "yellow";
        e.preventDefault();
    } // this bracket also missing in your code
</script>

其他選項是:

e.stopPropagation();
e.stopImmediatePropagation();
return false;

都有不同的目的和結果。

文檔位於: https : //developer.mozilla.org/zh-CN/docs/Web/API/Event/preventDefault

嘿,我希望您已經在服務代碼中編寫了一個事件...如果不只是從按鈕中刪除服務器屬性運行...

我想您是通過在button的server屬性上運行來調用某些服務器事件的。 發送回發,導致頁面重新加載,使您的頁面恢復為舊顏色...

為了避免后發頁面刷新,您必須在服務器中很好地處理它,或者只是從按鈕中刪除此在服務器運行屬性(這將導致沒有服務器調用您的腳本)。

我希望這可以解決您的問題或幫助您解決問題。

(很抱歉輸入錯誤。從移動應用發送)。

謝謝,我找到了一個簡單的解決方案:

<asp:Button ID="Button1" runat="server" OnClientClick="acheck();return false;" Text="Button" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM