gpt4 book ai didi

javascript - ASP.NET Javascript 文本框 onblur

转载 作者:行者123 更新时间:2023-11-30 13:22:24 28 4
gpt4 key购买 nike

我在页面上注册 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

这是前端 .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 没有在源代码中定义。

不过,我可以通过将 Page_Load sub 放入 aspx 文件的标记中,然后直接访问文本框的属性来使其工作。但这不是我想要的。

基本上,对于我的最后一页,我将要遍历页面上的所有文本框,然后为它们提供使用其 ID 的 onBlur 和 onFocus 方法。

这可能吗?我看不出哪里错了。

请帮忙:(

最佳答案

您可能从以下行获取 javascript 错误:

ClientScript.RegisterClientScriptBlock(Me.GetType(), _
"BlurScript", scriptText, True)

True 表示 scriptText 应该用脚本标签包裹,但您已经包含了脚本标签。将此 bool 值更改为 False 或删除脚本标签 ( see doc ):

选项一:

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" />

关于javascript - ASP.NET Javascript 文本框 onblur,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9771436/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com