问一个关于JScript问题,可以提高认识Js,不懂的也可以来看看! 晕!运行一个字符串,那个叫做eval! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sp1234说,晕,运行一个 string,我就不明白,如果我写的不是<script>标签,而是<input> <img> 行这些,,这些完全可以在浏览器展现而且我同样可 以 document.getElementById("input_id"); 来取得id,为什么我写入的是脚本就不行了? 意思就是把你要运行的js字符串放到eval函数里面去解析。 JavaScript eval() 函数 定义和用法eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。语法eval(string)参数 描述 string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 返回值通过计算 string 得到的值(如果有的话)。说明该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。抛出如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。如果非法调用 eval(),则抛出 EvalError 异常。如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。提示和注释提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。 eg: <SCRIPT language="javascript">function showsubmenu(sid){whichEl = eval("submenu" + sid);if (whichEl.style.display == "none"){eval("submenu" + sid + ".style.display=\"\";");}else{eval("submenu" + sid + ".style.display=\"none\";");}}</SCRIPT> 晕死,现在很多浏览器都可以调试呀,firefox,Opera.. 你这个应该是属于动态加载脚本啊看看这个http://blog.csdn.net/aqgsh/article/details/6909862 <html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title></title> <script> function RunJsScript(strJs) { eval(strJs); } </script></head><body> <form id="form1" runat="server"> <div> <input type="text" id="txtJs" value="alert('ss');"/><input type="button" value="Go" onclick="RunJsScript(document.all.txtJs.value)" /> </div> </form></body></html> 非常感谢谢你的提示终于现实了 好人做到底吧,送佛到要西吧。<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <script type="text/javascript"> function RunJsScript() { eval(document.getElementById("txtCode").value); } </script> </head><body> <form id="form2" runat="server"> <div> <textarea id="txtCode" rows="10" cols="100"></textarea> <input type="button" value="动行" onclick="RunJsScript();" /> 展示:<input type="text" id="txtOutPut" /> </div> </form></body></html>我html 在浏览打开运行后在 id==txtCode 的<textarea>输入document.getElementById("txtOutPut").value=123;点运行果然id==txtOutPut 的textbox 立刻出现 123好成功了!!!我还想追问两条问题:1. 但是如果我改为document.getElementById("txtOutPut111").value=123;id == txtOutPut111 的控件不存在。浏览器也没有报错,如何取得它的出错信息展现在 id==txtOutPut 的<input type='text'> 控件内。2. 假如我想让它只运行前三行 就停下来 等待我的命令再运行下面的代码。--我插入断点怎么实现? 1.try{ eval(document.getElementById("txtCode").value);}catch(e){ document.getElementById("txtOutPut111").value=e;}2.你就把文本框你的文本 按 "\n" 切割成数组,for循环调用,一次执行多少自己定义var jsList=document.getElementById("txtCode").value.split("\n");for(var i=0;i<jsList.length;i++){ eval(jsList[i]);} [size=24p x] 非常感谢 22 楼,此方法高。[/size]非常值得提昌!下面我想问问几条阔展性问题,与上面的主题无关,期望知道的高手说说1。JavaScript 的事件 好click;dblclick ;等等,我们需要手动click 元素才会响应,有没有办法用程序触发它呢?2。如何编历一个对象下的所有方法(知道它需要的参个数和类型),属性,子对象,呢?--当要分开。var str;for(var method in document){ str += document[method]}alert(str);上面的代码虽然 看到方法,但不见参数,求 编历方法+参数;求 编历子对象:求 编历所有属性:在此真诚感谢 回答. url重写验证问题 关于一些网站上的文章的上一篇和下一篇 WebService中类型序列化的问题请大家帮忙 C# + Asp.Net的网站如何与客户端activeX控件交互?? 帮我看看这个警告是怎么回事? C# 下载word 如何隐藏多行编辑框的下拉框,答对马上给分结贴? 用VB.NET如何做备份 一个SQL语句的问题 JMail的发送问题? messagebox.show 有些机器不弹对话框,反而导致程序卡死 excel导入导出问题,在线等~~~~·
说,
晕,运行一个 string
,我就不明白,
如果我写的不是<script>标签,而是<input> <img> 行这些,,
这些完全可以在浏览器展现而且
我同样可 以 document.getElementById("input_id"); 来取得id,
为什么我写入的是脚本就不行了?
定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。语法
eval(string)参数 描述
string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 返回值
通过计算 string 得到的值(如果有的话)。说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。抛出
如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。如果非法调用 eval(),则抛出 EvalError 异常。如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。提示和注释
提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。 eg: <SCRIPT language="javascript">
function showsubmenu(sid)
{
whichEl = eval("submenu" + sid);
if (whichEl.style.display == "none")
{
eval("submenu" + sid + ".style.display=\"\";");
}
else
{
eval("submenu" + sid + ".style.display=\"none\";");
}
}
</SCRIPT>
http://blog.csdn.net/aqgsh/article/details/6909862
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script>
function RunJsScript(strJs)
{
eval(strJs);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="txtJs" value="alert('ss');"/><input type="button" value="Go" onclick="RunJsScript(document.all.txtJs.value)" />
</div>
</form>
</body>
</html>
终于现实了
好人做到底吧,送佛到要西吧。<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> <script type="text/javascript">
function RunJsScript() {
eval(document.getElementById("txtCode").value);
}
</script>
</head>
<body>
<form id="form2" runat="server">
<div>
<textarea id="txtCode" rows="10" cols="100"></textarea>
<input type="button" value="动行" onclick="RunJsScript();" />
展示:<input type="text" id="txtOutPut" />
</div>
</form>
</body>
</html>
我html 在浏览打开运行后
在 id==txtCode 的<textarea>输入
document.getElementById("txtOutPut").value=123;
点运行
果然
id==txtOutPut 的textbox 立刻出现 123
好成功了!!!我还想追问两条问题:1. 但是如果我改为
document.getElementById("txtOutPut111").value=123;
id == txtOutPut111 的控件不存在。
浏览器也没有报错,如何取得它的出错信息展现在 id==txtOutPut 的<input type='text'> 控件内。2. 假如我想让它只运行前三行 就停下来 等待我的命令再运行下面的代码。--我插入断点
怎么实现?
try
{
eval(document.getElementById("txtCode").value);
}
catch(e)
{
document.getElementById("txtOutPut111").value=e;
}
2.你就把文本框你的文本 按 "\n" 切割成数组,for循环调用,一次执行多少自己定义
var jsList=document.getElementById("txtCode").value.split("\n");
for(var i=0;i<jsList.length;i++)
{
eval(jsList[i]);
}
非常值得提昌!下面我想问问几条阔展性问题,与上面的主题无关,
期望知道的高手说说1。
JavaScript 的事件 好click;dblclick ;等等,我们需要手动click 元素才会响应,
有没有办法用程序触发它呢?
2。
如何编历一个对象下的所有方法(知道它需要的参个数和类型),属性,子对象,呢?--当要分开。var str;
for(var method in document)
{
str += document[method]
}
alert(str);上面的代码虽然 看到方法,但不见参数,
求 编历方法+参数;
求 编历子对象:
求 编历所有属性:在此真诚感谢 回答.