ASP.NET Javascript Textbox onblur
ASP.NET Javascript Textbox onblur
我在页面上注册javascript时遇到了一些问题,这样我的文本框就可以在onBlur上启动它。我创建了一个简单的测试页面来演示我的问题。
这是后端VB.Net
Public Class Test
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim scriptText As String = ""
scriptText &= "<script language='javascript'>"
scriptText &= "function DisplayBlurMessage(){alert('you clicked outside the textbox');}"
scriptText &= "</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, False)
End Sub
End Class
这是FrontEnd.aspx文件
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Test.aspx.vb" Inherits="WebApplication1.Test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Test Page</title>
</head>
<body>
<h3>Test Page</h3>
<form id="form1" runat="server">
<asp:TextBox id="TextBox1" columns="54"
Text="Click here then outside"
runat="server" onBlur="DisplayBlurMessage();"/>
</form>
</body>
</html>
当我点击文本框查看页面时,javascript调试器会给我一个错误,因为源代码中没有定义javascript。
然而,我可以通过在aspx文件中的标签中放入Page_Load子,然后直接访问文本框的属性来实现它。但这不是我想要的。
基本上,对于我的最后一页,我想迭代页面上的所有文本框,然后给它们一个使用id的onBlur和onFocus方法。
这可能吗?我看不出哪里出了问题。
请帮助:(
您可能在以下行中出现javascript错误:
ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, True)
True
意味着scriptText
应该用脚本标记包装,但您已经包含了脚本标记。将此布尔值更改为False或删除脚本标记(请参阅文档):
选项a:
Dim scriptText As String = ""
scriptText &= "function DisplayBlurMessage(){alert('you clicked outside the textbox');}"
ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, True)
选项b:
Dim scriptText As String = ""
scriptText &= "<script language='javascript'>"
scriptText &= "function DisplayBlurMessage(){alert('you clicked outside the textbox');}"
scriptText &= "</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, False)
编辑:
为了注册脚本,您需要在页面中有一个ScriptManager。在表单中添加以下内容:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
试试这个:
RegisterClientScriptBlock
的最后一个参数应为false。
ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, False)
http://msdn.microsoft.com/en-us/library/bahh2fef.aspx
编辑:在页眉中,还需要放置CodeBehind="Test.aspx.vb"
和Inherits="yourproject.Test"
。
<%@ Page Language="VB" AutoEventWireup="True" CodeBehind="Test.aspx.vb" Inherits="yourproject.Test" %>
相关文章:
- php代码在textbox更改事件上显示null
- Javascript-onblur函数无法更改文本框的值
- 在Jquery/Javascript中的Array中插入Textbox值
- 在GridView中,当单击复选框时,在网格的同一行中使用JavaScript将标签中的值添加到TextBox
- 如何使用javascript将textbox的值赋给ngModel textbox
- 如何在jQuery中为asp:textbox生成onchange事件
- 当输入退格键时,ReadOnly TextBox会导致页面后退
- Window.onblur-禁用iframe事件
- textbox.value在javascript中不起作用
- JavaScript/jQuery:显示DIV,直到用户停止在Textbox中键入
- 覆盖twitter引导程序Textbox发光和阴影
- 如何在url中添加/传递textbox值
- 如何在yii中在同一行中给出onblur和onkeypress,这是可能的吗
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 使用Ajax响应更新TextBox
- Jquery,onBlur-如果不为空,则显示警报
- 使用javascript将值从dropdownlist(绑定到数据库)传递到textbox
- 对<asp:IE 10的TextBox;不起作用
- onblur事件时,输入被强制聚焦
- ASP.NET Javascript Textbox onblur