作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个应用程序,但它不会对用户操作做出任何响应。当您提交表单时,您只会得到一个空白页面。 Anoniem inloggen 按钮也不起作用,两者都是在 javascript 中创建的。这仅在使用 Android 2.3 或更低版本时发生。我尝试了很多解决方案,但到目前为止都没有奏效。即使已经给出的解决方案也行不通。
申请链接:http://goo.gl/MsZfO .
此应用的索引脚本如下所示:
<script type="text/javascript">
$(document).ready(function($) {
checkMail();
$.post('stats.php',
function (data, textStatus) {
$('#stats').empty();
$('#stats').append(data).page();
$('#stats').page('destroy').page();
});
$.post('welcome.php',
function (data, textStatus) {
$('#mail').empty();
$('#mail').append(data).page();
$('#mail').page('destroy').page();
});
function checkMail() {
var item = localStorage.getItem('maillogin');
if (item !== null) {
window.location = '#stats';
}
else{
window.location = '#mail';
}
}
});
</script>
索引主体:
<div data-role="page" data-theme="a" id="mail" data-transition="none">
</div>
<div data-role="page" data-theme="a" id="stats" data-transition="none">
</div>
这是问题页面 (welcome.php) 脚本:
$(document).ready(function($) {
$('#mailform').submit(function () {
$.mobile.showPageLoadingMsg();
var email = document.getElementById('email');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value)) {
$.mobile.changePage("#mail");
alert('Dit is geen geldig mailadres');
$.mobile.hidePageLoadingMsg();
return false
}
else{
if($('#checkbox').attr('checked')) {
$.post('mailinsert.php',
$('#mailform').serialize())
localStorage.setItem('maillogin', $('#email').val());
$('#inlogmail').empty();
$('#inlogmail').append(localStorage.getItem('maillogin')).trigger('create');
$.post('stats.php',
function (data, textStatus) {
$('#stats').empty();
$('#stats').append(data).page();
$('#stats').page('destroy').page();
$.mobile.changePage("#stats");
$.mobile.hidePageLoadingMsg();
});
}
else{ $.mobile.changePage("#mail");
alert('De voorwaarden zijn niet geaccepteerd');
$.mobile.hidePageLoadingMsg();
return false;
}
}
});
$('#skipright').click(function(){
localStorage.setItem('maillogin', 'anoniem');
$.post('stats.php',
function (data, textStatus) {
$('#stats').empty();
$('#stats').append(data).page();
$('#stats').page('destroy').page();
$.mobile.changePage("#stats");
$.mobile.hidePageLoadingMsg();
});
});
});
和问题页面(welcome.php)正文:
<form id="mailform">
<div data-role="fieldcontain">
<label for="email">E-mail:</label>
<input name="email" id="email" type="text" />
<br />
<div class="ui-grid-b ui-corner-all ui-shadow ui-bar ui-bar-b">
<input type="checkbox" name="checkbox" id="checkbox" data-role="none"/>
<label for="checkbox">Ja, ik accepteer de voorwaarden</label>
</div></br>
<input type="submit" value="Stemmen maar!"/>
</div>
</form>
<h3><a class="skipright" id="skipright">Anoniem inloggen</a></h3>
</div>
所以简而言之,welcome.php 中实现的操作,如 .click 和 .submit,在 android 2.3 或更低版本的 index.html 中将不起作用。我们如何解决这些问题?
最佳答案
尝试更改您的以下行:
window.location = '#stats';
对于这个:
window.location.href += '#stats';
更新:
如果您已经在该位置加载了 anchor 链接(如 #home
),请执行以下操作:
window.location.href = window.location.href.substr(0, window.location.href.lastIndexOf('#')) + '#stats';
关于带有 Jquery Mobile 的 Javascript 不适用于 Android 2.3 及更低版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564845/
我是一名优秀的程序员,十分优秀!