javascript 中用document.write 输出一个按钮
functiontest(){alert("warning...");}functiondisplayVar(){alert('varvalue='+foobar);do...
function test()
{
alert("warning ...");
}
function displayVar()
{
alert('var value='+foobar);
document.write("<input type='button' value='test' onclick=' test();'>");
}
在点击这个button后输出错误信息:缺少对象
但是如果是onclick='alert("alerting..")';
就可以正确调用怎么回事?
我想调用自定义的函数应该怎么改呢?
谢谢您的解答,万分感激! 展开
{
alert("warning ...");
}
function displayVar()
{
alert('var value='+foobar);
document.write("<input type='button' value='test' onclick=' test();'>");
}
在点击这个button后输出错误信息:缺少对象
但是如果是onclick='alert("alerting..")';
就可以正确调用怎么回事?
我想调用自定义的函数应该怎么改呢?
谢谢您的解答,万分感激! 展开
5个回答
展开全部
当第一次打开页面的时候,用document.write可以输出一个按钮。
document.write("<input type='button' value='test' onclick=' 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>Untitled Page</title>
<script type="text/javascript">
function sel()
{
var txt = document.getElementById('txt');
var obj = document.getElementById('test');
var t = document.createElement('input');
t.setAttribute("type","text");
t.setAttribute("value","aaa");
// var w=document.open("","t","menubar=no");
document.forms[0].appendChild(t);
// obj.options.add(new Option(txt.value));
var opt =document.createElement("option");
opt.setAttribute("value",txt.value);
opt.setAttribute("text",txt.value);
obj.options.add(opt);
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="txt" />
<select id="test">
</select>
<input type="button" onclick="sel()" value="点击"/>
</form>
</body>
</html>
document.write("<input type='button' value='test' onclick=' 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>Untitled Page</title>
<script type="text/javascript">
function sel()
{
var txt = document.getElementById('txt');
var obj = document.getElementById('test');
var t = document.createElement('input');
t.setAttribute("type","text");
t.setAttribute("value","aaa");
// var w=document.open("","t","menubar=no");
document.forms[0].appendChild(t);
// obj.options.add(new Option(txt.value));
var opt =document.createElement("option");
opt.setAttribute("value",txt.value);
opt.setAttribute("text",txt.value);
obj.options.add(opt);
}
</script>
</head>
<body>
<form name="myform">
<input type="text" id="txt" />
<select id="test">
</select>
<input type="button" onclick="sel()" value="点击"/>
</form>
</body>
</html>
展开全部
因为你的文档已经加载完毕,而document.write是由事件触发displayVar而产生,是相当于在当前窗口新页面输出<input type='button' value='test' onclick=' test();'>这些代码的,而新页面中并没有test()函数啊。
如果当前页面在载入时,触发displayVar,可以正常操作的。
如果当前页面在载入时,触发displayVar,可以正常操作的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺少的对象是foobar,这个对象你没有定义过。
把alert('var value='+foobar);删掉就可以了
把alert('var value='+foobar);删掉就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function displayVar(){
document.write("<script>function test(){alert('warning ...');}<\/script>");
document.write("<input type='button' value='test' onclick=' test();'>");
}
document.write("<script>function test(){alert('warning ...');}<\/script>");
document.write("<input type='button' value='test' onclick=' test();'>");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请看下DHTML对document.write的说明
在文档加载完后,最好不要调用write方法
在文档加载完后,最好不要调用write方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询