anm*_*rti 8 javascript asp.net
我想在回发之前检查文本框值.我将onClientClick值设置为我的函数但我不知道如何传递数据来检查,在这种情况下我想检查txt1输入的文本.
<asp:textbox id="txt1" runat="server />
<asp:LinkButton ID="LinkButton1"
runat="server"
Text="Save"
onclick="Save"
OnClientClick="javascript:check(WANT TO PUT TEXTBOX VALUE HERE);"
/>
Run Code Online (Sandbox Code Playgroud)
我的javascript:
function check(txt) {
var pattern = /^[0-9]{1,11}(,[0-9]{0,2})?$/;
if (!pattern.test(txt)) {
return false;
}
else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是这个检查函数是在txt1的keypress事件中使用的,所以我无法使用:
function check(){
var txt=$('#txt1').val();
}
Run Code Online (Sandbox Code Playgroud)
整个JS代码:
$('#txt1').keypress(function (e) {
var key = String.fromCharCode(e.which);
var txt = $(this).val() + key;
if (check(txt)) {
// do sth
} else {
e.preventDefault();
// do sth
}
});
Run Code Online (Sandbox Code Playgroud)
如何告诉OnclientCLick函数获取txt1值?
谢谢.
像这样的东西:
<asp:textbox id="txt1" runat="server />
<asp:LinkButton ID="LinkButton1"
runat="server"
Text="Save"
onclick="Save"
OnClientClick="check(document.getElementById('<%=txt1.ClientID%>').value;)"
/>
Run Code Online (Sandbox Code Playgroud)
编辑:
其他方法:
你可以将其添加在服务器端:LinkButton1.OnClientClick="check(document.getElementById('" + txt1.ClientID + "').value;)";
如果你想留在aspx页面,你必须在OnClientClick中添加一个javascript函数的名称,并在脚本标记中实现javascript函数:
<asp:LinkButton ID="LinkButton1"
runat="server"
Text="Save"
OnClientClick="validate();"
/>
<script type="text/javascript">
function validate() {
alert(document.getElementById('<%=txt1.ClientID%>').value);
return false;
}
</script>
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
42859 次 |
| 最近记录: |