我用Jquery Mobile开发了一个移动应用程序。我在这个应用程序上遇到了问题,在"后退"单击页面的 HTML 时没有呈现。首次页面加载正常。但是当我访问该页面后退按钮单击时,它无法正确加载意味着 html 未在此页面上呈现。在我的应用程序中,所有页面都有"后退"按钮,通过该按钮,我可以使用 history.back() 返回上一页;功能。
页面的网页:
<!DOCTYPE html>
<html>
<head>
<title>Register</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript" charset="utf-8" src="_appMobi/appmobi.js"></script>
<script type="text/javascript" src="jquery.mobile-1.3.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function onDeviceReady() {
try {
AppMobi.device.setRotateOrientation("portrait");
var elem = document.getElementById("register_submit");
elem.innerHTML = '<input type="button" id="btn" name="btn_submit" onclick="SubmitRegistrationForm()" value="Submit" class="inputTypeSubmit" />'; //Error is here Error: Undefined
}
catch (e) {
alert(e.message);
}
}
function goback() {
history.back();
}
document.addEventListener("appMobi.device.ready", onDeviceReady, false);
</script>
</head>
<body> <a id="hrfBack" class="backClassbutton" rel="external" onClick="goback();" href="#">
<div id="register_submit">
</div>
<a href="#" rel="external" title="Login">Login</a>
</body>
</html>
我在使用 elem.innerHTML ="some html" 时遇到错误
那么为什么会出现此错误呢?或者如何解决它?
谢谢达尔维尔
//Hmm. Try an rewrite the code.
<script>
//Something like this will help:
function onDeviceReady(){
try {
//Other codes....
var elem = document.getElementById("register_submit").innerHTML;
}
catch {
//other codes
}
}
</script>
在 HTML 正文标记中创建按钮,并确保提交注册表单函数位于标记中。缺少 SubmitRegistrationForm()。这就是为什么您收到"未定义"错误的原因