2011-09-19 64 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 –