2012-10-15 31 views
0

我想品牌我的ASP.NET FileUpload控制,因爲無法完成OOB我選擇只是複製它的功能與JavaScript。event.preventDefault()阻止所有的onclick事件,而不是一個

我將「瀏覽」按鈕onclick事件附加到我的按鈕,並使用event.preventDefault(),它按預期工作。但我也有其他兩個按鈕;保存,刪除,這是正常的asp.net按鈕。在我的「自定義」瀏覽按鈕上觸發onclick事件後,其他兩個按鈕onclick事件不會觸發。

[Java腳本]

$(document).ready(function() { 
    // The "custom" browse button. 
    $('#<%=ProfilePictureBrowsePicture.ClientID%>').click(function (event) { 
     event.preventDefault(); 
     $('#<%=ProfilePictureUpload.ClientID%>').click(); 
    }); 

    // the "custom" fileupload box to display the selected image path. 
    $('#<%=ProfilePictureUpload.ClientID%>').change(function() { 
     $('#<%=ProfilePictureShowFile.ClientID%>').val($(this).val()); 
    }); 
}); 

[HTML]

<asp:FileUpload ID="ProfilePictureUpload" CssClass="filename" runat="server" /> 
<asp:TextBox ID="ProfilePictureShowFile" CssClass="fba-txtBox showSelectedFile" runat="server" /><br /> 
<asp:Button ID="ProfilePictureBrowsePicture" CssClass="btnYellow" runat="server" Text="Gennemse" ToolTip="Gennemse billede" /> 
<asp:Button ID="ProfilePictureUploadButton" CssClass="btnYellow" runat="server" Text="Gem" ToolTip="Gem billede" OnClick="ProfilePictureUploadButton_Click" /> 
<asp:Button ID="ProfilePictureDeleteButton" CssClass="btnYellow" runat="server" Text="Slet" ToolTip="Slet billede" OnClick="ProfilePictureDeleteButton_Click" EnableViewState="false" /> 

我試着用搜索引擎,如果event.preventDefault()影響比它的存在對其他功能的onclick事件,但沒有運氣。

任何人都可以啓發我嗎?

回答

0
event.preventDefault(); // Cancels the postback ... 
$('#<%=ProfilePictureUpload.ClientID%>').click(); 

//這是客戶端事件。

OnClick="ProfilePictureUploadButton_Click" // This is server side event 

所以客戶端。點擊()這裏事件是不一樣的的onclick服務器事件..

因爲你停止使用的preventDefault服務器端事件回發明顯不會着火...

要解除服務器端事件,請使用__doPostback()或刪除preventDefault()方法..

+0

我用''切換了asp.net按鈕並刪除了'event.preventDefault()',但問題仍然存在。這很奇怪。 – diceler

+0

事情是你點擊ProfilePictureUpload按鈕,並期待ProfilePictureUploadButton_Click事件被解僱...... –

+0

他們是兩個不同的控制? 'ProfilePictureUpload'是一個文件上傳控件,'ProfilePictureUploadButton'是一個按鈕控件。我只希望'ProfilePictureUploadButton_Click'被觸發,只要點擊'ProfilePictureUploadButton',而不是'ProfilePictureUpload'。 – diceler

相關問題