2012-05-02 67 views
0

我的母版頁是一種形式RUNAT中=「服務器」是這樣的:如何在沒有向服務器發送請求的情況下在表單runat = server中使用javascript?

<body> 
    <form id="Form1" runat="server"> 
     <asp:ContentPlaceHolder ID="MainContent" runat="server"/> 
    </form> 
</body> 

在我的網頁我添加一個文本,一個按鈕(HTML控件,而不是ASP的)中的一個,和一些JavaScript這樣的代碼:

<textarea id="ContentTextArea" class="ContentTextArea" rows="2" cols="20"></textarea> 
<button id="ClearButton" class="Button2" onclick="ClearButtonClick();">CLEAR</button> 

    <script type="text/javascript"> 
     function ClearButtonClick() { 
      document.getElementById("ContentTextArea").value = ""; 
     } 
    </script> 

我想的JavaScript代碼(這是清除textarea的文字)運行時的「清除」按鈕,在客戶端點擊不向服務器發送一個請求,但因爲我有<form id="Form1" runat="server">在母版頁該按鈕將數據提交給服務器並重新加載頁面。

我的母版頁中必須有<form id="Form1" runat="server">,但我也想在我的代碼中使用JavaSctipt,它將在客戶端運行。

感謝

編輯:

我的母版頁:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head id="Head1" runat="server"> 
    <title></title> 
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" /> 
    <asp:ContentPlaceHolder ID="HeadContent" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="Form1" runat="server"> 
     <div class="header"> 
      <div class="clear hideSkiplink"> 
       <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> 
        <Items> 
         <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> 
         <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> 
         <asp:MenuItem NavigateUrl="~/ContactUs.aspx" Text="Contact Us"/> 
        </Items> 
       </asp:Menu> 
      </div> 

      <div class="loginDisplay"> 
       <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> 
        <AnonymousTemplate> 
         [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ] 
        </AnonymousTemplate> 
        <LoggedInTemplate> 
         Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>! 
         [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ] 
        </LoggedInTemplate> 
       </asp:LoginView> 
      </div> 
     </div> 
     <div class="clear"> 
     </div> 

     <div class="main"> 
     <asp:ContentPlaceHolder ID="MainContent" runat="server"/> 
     </div> 

     <div class="footer"> 
      <p>GH Electronics © 2012. All Rights Reserved.</p> 
     </div> 

    </form> 
    <input type="button" onclick="window.location = '/WareHouse/ContactUs.aspx';" value="avi"/> 
    <script type="text/javascript"> 

      function ClearButtonClick() { 
      document.getElementById("ContentTextArea").value = ""; 
      return false; 
     } 
    </script> 
</body> 


</html> 

和我聯繫我們的形式是:

<img alt="Contact Us" src="Images/contact_us.gif" style="float:left;"/> 

<p class="contactUs" runat="server">CONTACT US</p> 
<label>Full Name:</label> 
<asp:TextBox class="FullNameTextBox" runat="server" /> 
<br /> <br /> 
<label>Phone Number:</label> 
<asp:TextBox class="PhoneNumberTextBox" runat="server" /> 
<br /> <br /> 
<label>Email:</label> 
<asp:TextBox class="EmailTextBox" runat="server" /> 
<br /> <br /> 
<label>Subject:</label> 
<asp:TextBox class="SubjectTextBox" runat="server" /> 
<br /> <br /> 
<label>Content:</label> 
<textarea id="ContentTextArea" class="ContentTextArea" rows="2" cols="20"></textarea> 
<br /> <br /> 
<asp:Button ID="SendButton" class="SendButton" Text="SEND" runat="server" /> 


<button id="ClearButton" class="Button2" onclick="ClearButtonClick();">CLEAR</button> 

<script type="text/javascript"> 

     function ClearButtonClick() { 
     document.getElementById("ContentTextArea").value = ""; 
     return false; 
    } 

+0

我看到你的標記沒有什麼會執行回發到服務器。 –

+0

您可以請發佈您的所有源代碼? –

+0

是的,一秒 – remi

回答

2

認爲這應該這樣做:

<button id="ClearButton" class="Button2" onclick="javascript:ClearButtonClick();return false;">CLEAR</button> 
+0

我試過了,但頁面仍在重新加載。 – remi

+0

看到該按鈕沒有runat =「server」 – Steen

+0

1

像這樣做。你必須在兩個地方進行更改。

  1. 在onclick =「return ClearButtonClick();」中添加返回值「事件登記如下。

    <button id="ClearButton" class="Button2" onclick="return ClearButtonClick();">CLEAR</button> 
    
  2. 返回從javascript函數從發送請求停止在網頁端或磁頭標籤之間將這個服務器 假。

    <script type="text/javascript"> 
        function ClearButtonClick() { 
         document.getElementById("ContentTextArea").value = ""; 
         return false; 
        } 
    </script> 
    
+0

我把它放在頁面的''之前,但它仍然在重新加載.. – remi

+0

把它放在之後。我會建議把它放在身體 – Adil

+0

的結束標記之前,我把它放在身體的結束標記之前,但由於未知的原因,該頁面仍然被提交。 – remi

相關問題