javascript:alert()中为什么不能使用空格

<ahref=javascript:void(0)onclick=javascript:alert('"&x_msg&"')style=text-decoration:n... <a href=javascript:void(0) onclick = javascript:alert('" & x_msg & "') style =text-decoration:none;color:Red >" & m(i) & "</a>
以上是我的一段javascript代码,当x_msg 字符串含有空格的时候就会出错!?我百思不得其解,更郁闷的是回车符竟然可,就是不能空格。望高手指点。
我是用VS.NET 2008 做的,这段代码是在VB代码下插入的,不是在HTML里。
我用了 Table1控件然后把 <a href=javascript:void(0) onclick = javascript:alert('" & x_msg & "') style =text-decoration:none;color:Red >" & m(i) & "</a> 当字符串插入到Table1的单元格里。 一楼的答案肯定不行,我试过。二楼的答案多这么多个"""我看也很不靠谱。不过还是谢谢二位,至于代码的格式我想我的应该是OK,就是不知到为什么一遇到空格就出错,没有空格都OK!? 貌似alert对空格有别的用途,这才是我想了解的。
------------------------------------------------------------------------------------------------------------
问题解决了,当初我不知道 双引号 需要用到 转义字符。我用的是VB ,双引号 的转义字符是 "":
<a href=javascript:void(0) onclick = "":javascript:alert('" & x_msg & "')"": style ="":text-decoration:none;color:Red "":>" & m(i) & "</a>
这样子当 x_msg 字符串变量 接收到 有空格的 字符串,浏览器不会吧 空格 当作停止符。
展开
 我来答
百度网友b907c5233
2011-09-06 · TA获得超过534个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:234万
展开全部
如果单单说修正这段HTML代码,其实不难:

<a href="javascript:void(0);" onclick="javascript:alert(' & x_msg & ');" style="text-decoration:none;color:Red" > & m(i) & </a>

但是按我猜测,你的这段代码是从某段别的代码里扣下来的,其实不是很全;
假如你是在ASP里使用这段代码,就需要做些更改:

"<a href="""javascript:void(0);""" onclick="""javascript:alert('" & x_msg & "');""" style="""text-decoration:none;color:Red""" >" & m(i) & "</a>"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx_zhengxin
2011-09-06
知道答主
回答量:14
采纳率:0%
帮助的人:9.5万
展开全部
上面代码有错误,改成如下就可以了:
<a href=javascript:void(0) onclick = "javascript:alert(' & x_msg & ');" style =“text-decoration:none; color:Red”>" & m(i) & "</a>
注:在使用js的时候最好在该加""的地方加上""否则会遇到莫名其妙的错误。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f0f3d60c5
2011-09-07 · 超过19用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:58.8万
展开全部
空格对alert()没有影响。请你看一下,页面在浏览器中的源码。看看x_msg的内容是什么。就可以看出问题所在了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sundysea
2011-09-08 · TA获得超过148个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:206万
展开全部
建议用完整一点标准的html

onclick后面要用引号,然后x_msg要用Server.HTMLEncode(x_msg)编码一下,如下
这里是以asp为例。
<%
x_msg = Server.HTMLEncode(x_msg)
%>
<a href="javascript:void(0)" onclick="alert('a b c d "')" style="text-decoration:none;color:Red" >" & m(i) & "</a>
追问
If x_msg  "" Then

m(i) = "" & m(i) & ""

End If
我的代码格式是这样子的,依你这个的方式行不通。
追答
你用这段代码

If x_msg "" Then
x_msg = Server.HTMLEncode(x_msg)
m(i) = "" & m(i) & ""

End If

我给的只是一个原理,你自己应该变通一下。

按你的意思,asp的变量双引号中间就不能有双引号了吗?如果是那样的话,微软也太逊了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jlddy84
2011-09-07 · TA获得超过205个赞
知道答主
回答量:88
采纳率:0%
帮助的人:53.2万
展开全部
onclick = 后面还是要加引号撒,不加引号,空格的话就在空格出结束了。
追问
If x_msg  "" Then

m(i) = "" & m(i) & ""

End If
这段是我的代码,要怎么改。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式