2012-02-19 74 views
-2

如何在双引号中运行任何JavaScript? 例如:用双引号执行任何脚本

<input type="text" value="" /> 

我想在值时,执行警报或任何其他代码=“”(双引号)。如:

<input type="text" value="<script> onmouseover=alert(0);</script>" /> 

该代码在页面上显示为字符串。那么无论如何要用双引号执行脚本?

+1

我不认为你很好理解HTML。您应该首先了解HTML,Javascript和DOM。 – Konerak 2012-02-19 12:43:25

+0

好吧,我会学习它。但你能回答吗? – 2012-02-19 13:02:59

+0

你究竟想要什么?你想把JavaScript代码放在值标签中?为什么?它将如何被激活?您可以将代码放在onclick/onmouseover/on ***标签上,或放在脚本(标签)中并将其链接到输入。 – Konerak 2012-02-19 21:52:48

回答

0

啊,我明白了,你可能想要这样做:

<input type="text" onchange="try{eval(this.value)}catch(e){}" /> 

该内联脚本将尝试执行它的内容每当标签被改变时(和你模糊元素),它的值属性。 try catch块是这样的,任何通常不会工作的东西都不会被执行。 eval函数解析一个字符串并将其作为Javascript代码运行。

当你使用eval时,你会留下很多攻击形式,所以除非这是纯粹的教育目的或者是为了家庭目的,否则我会建议你不要使用它。

+0

不,我不是在谈论内联属性。我只是问,有没有办法在价值属性的引用中执行任何脚本? – 2012-02-19 13:01:54

+0

'eval'执行字符串。您可以创建一个函数来获取input元素的value属性,并将其作为'eval'函数的参数插入。 – 2012-02-19 13:03:40

0

输入对象都有其自己的事件,你必须为它们分配

例如执行警报,当鼠标悬停在:

<input type="text" value="testbox" onMouseOver="alert('testing');"/> 
0
<input type="text" onmouseover="alert(0);" />