Javascript的调用问题,很奇怪。

zsx123 2010-04-08 02:43:49
Default.aspx里的代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %>

<!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 runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" src="Script/test.js"></script>
</head>
<body>
<form id="Form1" name="login" method="post" runat="server" defaultfocus="tbx_uid"

onsubmit="return haha();">
<asp:TextBox ID="tbx_uid" runat="server" CssClass="text_input" Tooltip="请输入帐号

~!">1</asp:TextBox>
</form>
</body>
</html>

test.js里的代码如下:

// JScript 文件

function haha()
{
alert("\n其内容不可以为空test2。");
return false;
}


在visual 2005 里Debug调试的时候,首先出现错误

出现了运行时间错误
是否要进行调试?
行:3
错误:语法错误

忽略,继续
出现错误

Microsoft JScript 运行时错误: 缺少对象

2005里对“return haha();”黄色高亮提示。程序无法继续了。


但是我发布网站后,在IE6里输入网址,页面运行一切正常,功能也正常。对话框“其内容不可以为空test2。”可

以正常弹出。

如果我把
function haha()
{
alert("\n其内容不可以为空test2。");
return false;
}
这个函数直接写在Default.aspx页面里,然后调试,页面运行也一切正常。

我的IE选项里取消了“禁用脚本调试(Internet Exploree)和“禁用脚本调试(其他)“。这2个选项。




...全文
119 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2010-04-08
  • 打赏
  • 举报
回复
我刚才试了一下,没有发现问题

zsx123 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sandy945 的回复:]
你的 js 文件是在 vs 里创建的么?
[/Quote]

在项目里的Script文件夹,右键-》添加新项-》选择JScript文件。取名"test.js"。
按【确定】,保存。
阿非 2010-04-08
  • 打赏
  • 举报
回复
你的 js 文件是在 vs 里创建的么?
zsx123 2010-04-08
  • 打赏
  • 举报
回复
回楼上的

test.jsp源码内容改成如下

// JScript 文件
function haha()
{
alert("testtest2");
return false;
}


==========
还是提示一样的错误
阿非 2010-04-08
  • 打赏
  • 举报
回复
你需要改的是 js 文件的编码

测试你是否是编码问题很简单

你将 js 文件中的

alert("\n其内容不可以为空test2。");

=>

alert("test\test2。");

zsx123 2010-04-08
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript" src="Script/test.js"></script>
======>
<script type="text/javascript" src='<%= Url.Content("~/Script/test.js") %>'></script>

==================
提示:
当前上下文中不存在名称“Url”
zsx123 2010-04-08
  • 打赏
  • 举报
回复
应该是 js 文件的编码问题

改成与 .aspx 一直即可
=======================
这个方式我试了,

Default.aspx里加了
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Web.config里加了
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding ="utf-8"/>

问题依旧。
丰云 2010-04-08
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript" src="Script/test.js"></script>
======>
<script type="text/javascript" src='<%= Url.Content("~/Script/test.js") %>'></script>
阿非 2010-04-08
  • 打赏
  • 举报
回复
应该是 js 文件的编码问题

改成与 .aspx 一直即可
bojiansky 2010-04-08
  • 打赏
  • 举报
回复
我顶
我顶我顶我顶
CalvinDo 2010-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zsx123 的回复:]
我顶
我顶我顶我顶
[/Quote]+
zsx123 2010-04-08
  • 打赏
  • 举报
回复
我顶
我顶我顶我顶

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧