JS表单调用

<html><head><title>文字闪烁</title><scripttype="text/javascript">varf=document.getElement... <html>
<head>
<title>文字闪烁</title>
<script type="text/javascript">
var f=document.getElementById("form1");alert(flashelement.flashit.value);alert(f.flashit.value);
</script>
</head>
<body>
<form id="form1">
<input type="text" value="文本框" name="flashit" id="flashit">
</form>
</body>
</html>
alert没有出现 为什么啊?
展开
 我来答
张恺阳
2017-05-09 · 知道合伙人软件行家
张恺阳
知道合伙人软件行家
采纳数:166 获赞数:532
开发过各种类型网站及APP等,如有相关问题可以随时向我提问。

向TA提问 私信TA
展开全部

按照你的代码,我们先来分析一下原因。

首先,代码存在错误,flashelement变量是不存在的。会报错。

其次,JavaScript
应该写在DOM内容的后面。由于还没有渲染结束,直接获取元素,是无法获取到的。例如你页面中获取form标签。至少要让form标签被浏览器渲染了以
后,再去获取它。如果一定要将JavaScript代码写在head里,就需要增加页面加载完毕事件才可以。告诉浏览器,当页面全部渲染结束了以后再来执
行这段JavaScript代码。

根据你的代码,帮你稍微改动了一下。

示例如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
</head>
<body>
    <form id="form1">
        <input type="text" value="文本框" name="flashit" id="flashit">
    </form>
    <script type="text/javascript">
        var f=document.getElementById("form1");alert(f.flashit.value);
    </script>
</body>
</html>

运行结果:

百度网友2a546d3
2017-05-09 · TA获得超过157个赞
知道小有建树答主
回答量:115
采纳率:78%
帮助的人:76.9万
展开全部
JS是从上到下执行的,因为你'alert(flashelement.flashit.value);'这段代码flashelement 没有定义所以JS解释器抛出一个异常,然后程序就退出了不会再执行'alert(f.flashit.value);'。而且'alert(flashelement.flashit.value);'这段代码解释器先获取flashelement.flashit.value这个值,然后再alert的所以第一个alert也不弹出来就退出程序了。
解决方法就是把'alert(flashelement.flashit.value);'注释掉或者删除
追问
大神你也解释的很清楚,不过楼上的比你更具体些,所以采纳他了。还有一个问题:
我加了个div id为a 用alert(flashelement.a.innerHTML)没反应 这又是为什么
追答

首先,没解释清楚很抱歉。我告诉你的只是问题的根源,这样吧我给你一张截图你看一下:

这儿是你报错的地方(chrome浏览器调试,window按F12,Mac按command+alt+i可以打开

这个是抛出的异常信息,大致意思就是flashelement没有定义

问题:我加了个div  id为a  用alert(flashelement.a.innerHTML)没反应 这又是为什么?

同样的问题你flashelement没有定义,如果还是没明白你可继续问我。

还有就是我不是大神只是一个JS入门新手

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式