关于js获取不到表单中的值的问题,具体代码如图

此题结束,原因是我把脚本写在body上面了,加载脚本的时候,表单还没有加载... 此题结束,原因是我把脚本写在body上面了,加载脚本的时候,表单还没有加载 展开
 我来答
Kenn
2018-03-09 · TA获得超过517个赞
知道小有建树答主
回答量:703
采纳率:82%
帮助的人:192万
展开全部

表面上来看,你写的完全没有问题。

但是实际上你是出了问题,那么原因可能就是

第一:如果是服务器拿到数据再渲染到页面来的话,可能是数据渲染没有完成,但是js已经执行了,这是异步问题,异步问题用callback来解决,取到再来获取,例如下面这样,用一个callback来简单解决。只有通过ajax取到值以后才执行callback。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
 
<script>
function checkHtmlFile(fileName, callback) {
var xml = new XMLHttpRequest();
xml.open('GET', fileName, false)
xml.send()
callback(xml)
}
checkHtmlFile('b.html',function(doc) {
if (doc.status === 200&& doc.statusText === 'OK') {
alert('OK')
} else {
alert('NO')
}
})
</script>
 
 
</body>
</html>

第二:还是异步问题,js在浏览器运行的时候,js被执行了,但是下面的html在js后面。js取不到id的。只有加上DOMContentLoaded或window.onload之类的事件来判断html的dom是不是加载完成了。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
window.addEventListener('DOMContentLoaded', function() {
var pageNum = document.getElementById('pageNum').value
var maxPage = document.getElementById('maxPage').value
alert("弹出:" + pageNum)
alert("弹出:" + maxPage)
})
</script>

<input type="text" id="pageNum" name="pageNum" value="我是pageNum的value" />
<input type="text" id="maxPage" name="maxPage" value="我是maxPage的value" />

</body>
</html>
DoramiHe
2018-03-09 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59542
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
<script language="JavaScript" type="text/javascript">
function check()
{
if (document.theForm.tjjgdm.value == "")
{
alert("CHZ温馨提示:请选择单位名称!");
document.theForm.tjjgdm.focus();
return (false);
}
}
</script>
<form method="post" name="theForm" action="xxx.asp" onSubmit="return check()">
<input name="tjjgdm" type="text" id="tjjgdm" size="30" maxlength="50" />
<input name="提交" type="submit" value="ok">
</form>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式