2011-09-19 85 views
1

我有一個表格和一個按鈕形式:asp.net:點擊運行javascript?

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="SubmitData" /> 

我在我的C#程序的方法。該方法被稱爲SubmitData

但是,我還想在此按鈕上單擊以運行JavaScript函數。我該怎麼做呢?

這裏是我的javascript函數:

var selectedLanguages = new Array(); 
jQuery('#lstProblems option:selected').each(function() { 
    selectedLanguages.push(jQuery(this).val()); 
}); 

我從這裏得到它:jquery listbox return what user selected

如何運行呢?我必須把它放在<script></script>並做some_Function(等...)?

回答

5

你應該使用OnClientClick='myJsFunc();'

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

<script type="text/javascript"> 

function aaa() 
{ 
var selectedLanguages = new Array(); 
jQuery('#lstProblems option:selected').each(function() { 
    selectedLanguages.push(jQuery(this).val()); 
}); 
} 
</script> 
+0

我該如何修改這個>? –

+0

meziantou

+0

@ mid7非常感謝您能看到編輯的問題請 –

3

可以使用的OnClientClick事件

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Your javascript function" OnClick="SubmitData" /> 
+0

謝謝!你可以請看看編輯問題 –

2

設置服務器端事件代碼,它似乎已經是這樣,那麼在Page_Load方法你後面的代碼添加如下行:

Button1.Attributes.Add("onclick","yourJavascriptFunction();"); 

編輯:要從您編輯的問題運行功能,只需在您的JavaScript文件中創建一個相同名稱的函數。就像這樣:

<script type="text/javascript"> 
function yourJavascriptFunction() 
{ 
var selectedLanguages = new Array(); 
jQuery('#lstProblems option:selected').each(function() { 
    selectedLanguages.push(jQuery(this).val()); 
}); 
} 
</script> 
+0

@j玫瑰這是一個美麗的答案非常感謝,你可以看到編輯的問題,請 –

+0

@j玫瑰謝謝你!也許你可以幫助這個? http://stackoverflow.com/questions/7476329/asp-net-invalid-postback-or-callback-argument –