では動作しませんmobile.changepageを使用しては、私はページ上のボタンをクリックしたときに表示されるダイアログ(しない外部HTML)を、持っている、それが正常に動作しますアクセスする最初のページが表示されますが、別のページからhrefをクリックしてそのファイルを開くと、ボタンをクリックするとダイアログが表示されません。ここでJquerymobileダイアログ2ページ
がダイアログを含むページのコードである[...]ボタンのクリックイベントでアラートが、これがアクセスされる最初のページでない場合であっても、最大表示されますが、ダイアログは表示されません。 。あなたはjQueryのモバイルv1.0のを使用しますが、それはv1.0のアルファを言ったかのように、同時にあなたは$.mobile.changePage
に間違った引数を渡す
<!DOCTYPE html>
<html>
<head>
<title>Create Team</title>
<link rel="stylesheet"
href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
</head>
<body>
<!-- Page starts here -->
<div data-role="page" data-theme="b" id="page1">
<div data-role="header" id="hdrMain" name="hdrMain"
data-nobackbtn="true">
<h1>Test screen</h1>
</div>
<div data-role="content" id="contentMain" name="contentMain">
<div id="fullnamediv" data-role="fieldcontain">
<label for="fullname" id="fullnameLabel" name="fullnameLabel">Team
Name*</label> <input id="fullname" name="fullname_r" type="text" />
</div>
<div id="submitDiv" data-role="fieldcontain">
<a id="buttonSave" name="buttonSave" href="#" data-role="button"
data-inline="true">Save</a>
</div>
</div>
<!-- contentMain -->
<div data-role="footer" id="ftrMain" name="ftrMain"></div>
<script>
$("#page1").bind("pagecreate", function() {
$('#buttonSave').click(function() {
alert("aaaa");
$.mobile.changePage('#successdiv', {
transition: 'pop',
reverse: false,
changeHash: true
});
alert("after change");
return true;
});
});
</script>
</div>
<!-- page1 -->
<div data-role="dialog" data-theme="a" id="successdiv">
<div data-role="header" data-theme="f">
<h1>Error</h1>
</div>
<div data-role="content">
<p>This is Page 2</p>
<button type="submit" data-theme="e" name="successok"
value="submit-value" id="successbutton">Close Dialog</button>
</div>
</div>
<!-- Page ends here -->
</body>
</html>
経由だけで明確にするために、あなたは外部のページを持っており、それが#successdivページへのリンクがありますこれはダイアログとして開かれませんか? – JoshRoss
いいえ、上記のページはsecondpage.htmlで、私はfirstpage.htmlである別のページがあるとしましょう。私は最初にブラウザのfirstpage.htmlにアクセスし、secondpage.htmlへのhrefを持っています(通常のhrefで、ダイアログなどではありません)。そしてsecondpage.html(上記のコード)の中でボタン "buttonave"をクリックするとダイアログ "successdiv"が開きます。私はsecondpage.htmlを直接開いてボタンをクリックすると、これはうまく動作します(ダイアログが表示されます)。しかし、firstpage.htmlを開いた場合は、secondpage.htmlのhrefをクリックしてから、buttonave(secondpage.htmlにある)をクリックするとダイアログが表示されません。 –
それは明らかです。ダイアログのHTMLコードはsecondpage.htmlで定義します。最初のjQuery Mobileからsecindページに移動すると、secondpage.htmlから最初のページ要素(data-role = "page"を持つdiv)がロードされます。したがって、要素 '#successdiv'は読み込まれず、ページには存在しません。あなたにダイアログとしてあなたを見せてくれるものは何もありません。 – dfsq