为什么我提交表格后无法更改页面?

时间:2012-12-15 20:37:04

标签: jquery-mobile

我应该在点击提交后看到:“你好”,但我没有。为什么呢?

http://jsfiddle.net/GbfLG/1/

<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>​

2 个答案:

答案 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;
    });
});