2012-09-20 62 views
1

我翻看了所有类似的问题,然后输入这个问题,但我找不到我的问题的答案。我正在使用jQuery Mobile(1.1)和jQuery(1.7.1)开发一个小型门户网站。因此,我将它全部放在一个页面上,并使用data-role =“page”来处理流程转换。jQuery Mobile:首次访问时页面没有完全加载

流量是目前这样的:

  1. 用户访问的主要URL
  2. 上的动作(“做这个”或“做”)
  3. 当用户点击动作
  4. 用户点击(这两个标签都只有一个带有data-role =“button”的另一个文件的href),它将它们带到那个页面就好了。

但是,当第一次访问该页面(通过手动输入URL或单击操作按钮/链接)时,表单为空,并且单击提交按钮将不执行任何操作。刷新页面后,虽然一切正常,但它应该。

所以,比方说有人点击操作链接#1(“付款”):

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" /> 
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script> 
<title>Credit Card Payments</title> 
<style> 
    .ui-dialog .ui-header a[data-icon=delete] { display: none; } 
</style> 
<script> 
$(document).bind("mobileinit", function(){ 
}); 
</script> 
</head> 
<body> 
    <div data-role="dialog" id="popup"> 
     <div data-role="header" data-theme="b" data-content-theme="b"> 
      <h1>Destination</h1> 
     </div> 
     <div data-role="content" data-theme="b" data-content-theme="b"> 
      Please choose what you would like to do: 
      <a href="payment.php" data-role="button">Make A Payment</a> 
      <a href="create.php" data-role="button">Add Credit Card To Account</a> 
     </div> 
    </div> 
</body> 
</html> 

这需要他们“payment.php”,并显示页ID“第一步”,这是一个简单的日志形式:

<div data-role="page" id="step1"> 
    <div data-role="header"> 
     <h2>Log In</h2> 
    </div> 
    <form id="step1frm"> 
     <div data-role="fieldcontain"> 
      <label for="mail">Blesta e-mail: </label> 
      <input type="text" name="mail" id="mail" /> 
     </div> 
     <div data-role="fieldcontain"> 
      <label for="pw">Blesta password: </label> 
      <input type="password" name="pw" id="pw" /> 
     </div> 
      <input type="button" id="step1frmsub" value="Log In" /> 
    </form> 
</div> 

的日志表单页面也有很多的JQM的东西,但在我出评论的所有代码,所以这不是因为它没有任何改变。我也通过W3.org验证了HTML,并且它有效。

的发生了什么事可以在屏幕截图我把Chrome的督察中找到一个更好的表示:

首次访问 - after clicking "make a payment"

后刷新页面 - after refreshing the login for "make a payment"

编辑 - 作为一个小的跟进,我注意到“data-external-page =”true“”正在加载的div页面上设置,然后刷新它再也不存在了。根据我对我读过的内容的理解,这是因为它基本上来自对话框,但我不确定是否有办法禁用该对话框。

回答 - 好了,解决了这个之后,最初以为是不是我要找的,实际上这种添加到我的链接:

rel="external" 

让他们看起来像这样:

<a href="payment.php" data-role="button" rel="external">Make A Payment</a> 
+0

我看你已经回答了你自己的问题!使用该信息为此问题创建一个新答案,并将其标记为接受的答案。 :-) –

回答

1

好了,解决了这个之后,最初以为是不是我要找的,实际上这种添加到我的链接:

rel="external" 

让它们看起来像这样:

<a href="payment.php" data-role="button" rel="external">Make A Payment</a> 
相关问题