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..")';
就可以正确调用怎么回事?
我想调用自定义的函数应该怎么改呢?
谢谢您的解答,万分感激!
展开
 我来答
快乐编程教育
2010-05-28 · 专业IT知识分享,编程技巧分享
快乐编程教育
采纳数:342 获赞数:812

向TA提问 私信TA
展开全部
当第一次打开页面的时候,用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>
百度网友0f37e23c0
2010-05-27 · TA获得超过1543个赞
知道大有可为答主
回答量:1070
采纳率:50%
帮助的人:1290万
展开全部
因为你的文档已经加载完毕,而document.write是由事件触发displayVar而产生,是相当于在当前窗口新页面输出<input type='button' value='test' onclick=' test();'>这些代码的,而新页面中并没有test()函数啊。

如果当前页面在载入时,触发displayVar,可以正常操作的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goshimo
2010-05-28 · TA获得超过524个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:449万
展开全部
缺少的对象是foobar,这个对象你没有定义过。
把alert('var value='+foobar);删掉就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谏豆f2
2010-05-28 · TA获得超过201个赞
知道小有建树答主
回答量:413
采纳率:0%
帮助的人:322万
展开全部
function displayVar(){
document.write("<script>function test(){alert('warning ...');}<\/script>");
document.write("<input type='button' value='test' onclick=' test();'>");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乁Freedom
2010-05-27 · TA获得超过2128个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1407万
展开全部
请看下DHTML对document.write的说明
在文档加载完后,最好不要调用write方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式