Apache Cordova App -使用Javascript innerHTML更新内容
Apache Cordova App - update content using Javascript innerHTML
我是第一次在Visual Studio 2015 Enterprise上使用Apache Cordova创建一个应用程序。
该应用程序是一个简单的时间表检查器,用户根据全名和出生日期登录,然后显示他们的正确时间表。
我使用innerHTML来改变索引页(div displayDiv要精确)对应于变量,I使0 =登录页,1 =显示周期页,2 =显示完整时间表页
问题是我无法理解变量I如何在每次innerHTML更改时不断初始化。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>TimetableTest1</title>
</head>
<body>
<script src="scripts/platformOverrides.js"></script>
<script src="scripts/index.js"></script>
<script src="scripts/validateUser.js"></script>
<div id="displayDiv"></div>
<script type="text/javascript">
function changeContent(func) {
var oldOnLoad = window.onload;
if (typeof window.onload != 'function') {
window.onload = func
} else {
window.onload = function (i) {
oldOnLoad(i);
func();
}
}
}
changeContent(function(){
var i;
if (i == undefined && window.onload!='function') {
i = 0;
}
var display = new Array();
display[0] = '<h2>VCB TIMETABLE APP</h2><h3>Please enter your full name and date of birth to find out where your next class is</h3><form name="myForm" onsubmit="validateForm();"><input type="text" maxlength="35" id="name"placeholder="Full name" /><br /><input type="text" maxlength="35" id="dob"placeholder="DD/MM/YYYY" /><br /><input type="submit" id="submit" name="submit" value="Log me in!" /><br /><input type="reset" name="Reset" /></form>'
display[1] = '<h2>Where do I go?</h2>'
display[2] = '<h2>Your full timetable</h2>'
displayDiv.innerHTML = display[i];
alert("changeContent final i = " + i);
});
</script>
</body>
</html>
validateUser.js
function validateForm() {
var nameStr = document.getElementById("name").value;
var dobStr = document.getElementById("dob").value;
if (nameStr == null || nameStr == "" || dobStr == null || dobStr == "") {
alert("Name and DOB must be filled in");
} else {
i = 1;
validateUser(nameStr, dobStr, i)
}
}
function validateUser(nameStr, dobStr, i) {
nameStr = nameStr.toUpperCase();
alert("Hello " + nameStr + "'n validateUser content i: " + i);
任何帮助都将不胜感激
感谢清伦
您应该将声明var i;
移出函数。
在你的代码中,每次你执行改变内容的函数,i
被声明,但没有初始化,所以它的值是undefined
。
因此,条件i == undefined
为真。
我找到解决办法了!
问题是提交按钮…
我将其更改为"button",并简单地调用validateForm()与onclick
相关文章:
- 正在更新API事件上的innerHTML
- 如何使用JS动态更新innerHTML
- 无法获取onchange以触发innerHTML更新
- 无法使用 innerHTML 使用 JavaScript 更新 HTML 表
- 我可以更新使用 innerhtml 显示的 javascript 变量吗?
- 确定元素是否由 JS 添加,还是原始 HTML 文档 *OR* 检测脚本何时通过 InnerHTML 更新节点
- 在javascript中使用tr id更新tr innerHTML
- InnerHtml赢得't更新我的图片的src
- 传单-onEachFeature鼠标悬停更新表的innerHTML
- innerHTML未更新显示
- getElementByClass节点innerHTML已更新,但未在DOM中更新
- innerHTML没有正确更新
- innerHTML没有得到更新
- 为什么我不能用Javascript innerHTML属性更新HTML列表项?
- 设置 innerHTML:为什么它不会更新 DOM
- InnerHTML更新不工作
- JavaScript.带有innerHTML的循环在循环执行期间不会更新
- Javascript -通过innerHTML更新值时出现问题
- Apache Cordova App -使用Javascript innerHTML更新内容
- 使用innerHTML更新表格单元格错误