我应该在点击提交后看到:“你好”,但我没有。为什么呢?
<div data-role="page" id="create">
<script type="text/javascript">
alert("HERE");
$('#form').submit(function() {
$.post("/").success(function(resp) {
alert("RET");
$.mobile.changePage($("#final"));
});
return false;
});
</script>
<div data-role="content">
<form id="form">
<input type="submit" name="g" value="Submit" id="g"/>
</form>
</div>
</div>
<div data-role="page" id="final">
Hello
</div>
答案 0 :(得分:0)
您的表单正在提交 - return false;
无效。
尝试..
$('#form').submit(function(e) {
e.preventDefault();
e.stopPropagation();
... stuff ...
});
同样在你的小提琴中,你还没有定义$ .changePage,因此它被称为'undefined'。
答案 1 :(得分:0)
jQM与普通网页有一套不同的规则。您在错误的地方使用过您的java脚本。使用jQM,如果可能,将所有js代码写入单独的文件/文件中。
This是对你的jsFiddle代码的修复,它现在正在运行,我刚刚把它放在正确的上下文中。你的js代码没有改变。
示例:
$('#create').live('pagebeforeshow',function(e,data){
$('#form').submit(function() {
$.post("/").success(function(resp) {
$.mobile.changePage($("#final"));
});
return false;
});
});