2012-12-15 88 views
0

我應該看到:「你好」在提交後,但我沒有。爲什麼?爲什麼在提交表單後無法更改頁面?

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

回答

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; 
    }); 
});  
0

您的形式submiting - 在return false;不工作,因爲它應該。 嘗試..

$('#form').submit(function(e) { 
    e.preventDefault(); 
    e.stopPropagation(); 
    ... stuff ... 
}); 

而且在撥弄你還沒有定義$ .changePage所以它出來爲「未定義」。