aspx用了模板在aspx中取值要这样才行:
OnClientClick="javascript:{alert(document.getElementById('ctl00_ContentPlaceHolder1_TxtNNo').value);return false;}"这样不行:
OnClientClick="javascript:{alert(document.getElementById('<%=TxtNNo.ClientID%>').value);return false;}"
OnClientClick="javascript:{alert(document.getElementById('ctl00_ContentPlaceHolder1_TxtNNo').value);return false;}"这样不行:
OnClientClick="javascript:{alert(document.getElementById('<%=TxtNNo.ClientID%>').value);return false;}"
如果是系统加的一次和另一次好像不一样吧?
你运行,网页察看源文件,看看两次页面生成的ID是不是一样。
控件ID前面的字符串是执行完后系统自动生成的
两次页面生成的ID是一样
<asp:Button ID="ButtonSubmit" runat="server" Text="新增" OnClientClick="javascript:{alert(document.getElementById(' <%=TxtNNo.ClientID%>').value);return false;}" /></td>单独写成javascript function后正常<asp:Button ID="ButtonSubmit" runat="server" Text="新增" OnClientClick="javascript:check();" /></td>又遇到问题了
在check()里已明示返回了 false 了,为什么网页还会提交,如果写成 OnClientClick="javascript:check();return false;"则不会
ButtonSubmit.OnClientClick="alert(document.getElementById('" + TxtNNo.ClientID + "').value)";试试:
OnClientClick="javascript:return check();"