2

phonegap を使用してモバイル アプリケーションを開発し、jquery を使用してフォームを統合してデータを SQL データベースに投稿しようとしていますが、フォームが奇妙な動作をしているようです。アプリケーションの起動時にフォーム ページに直接移動するようにアプリケーションを設定すると、正常に動作しますが、別の初期ページからフォーム ページに移動しようとすると、フォームが機能しなくなります。問題は、最初の最初のページで jquery モバイル スクリプトを宣言することにあるようです。

誰かが何が起こっているのか知っているなら、それは素晴らしいことです。

リンクのあるページの HTML

<!DOCTYPE HTML>
<html lang="en-US">
<head>     
<title>jQuery form post</title> 
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />

</head>
<body>
<div data-role="page" class="ui-responsive-panel" >
<div data-role="header" >
    <h1>New Submission</h1>
</div>      

<div data-role="content">

<a href="comment_2.html" data-role = "button">New Submission</a>

</div>

</body>
</html>

フォームのあるページの HTML

<!DOCTYPE HTML>
<html lang="en-US">
<head>     
<title>jQuery form post</title>   
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css" />
<script src="js/post.js"></script> 

</head>
<body>
<div data-role="page" class="ui-responsive-panel" >
<div data-role="header" >
    <h1>New Submission</h1>
</div>      

<div data-role="content">

<div id="landmark-1" data-landmark-id="1">
<form id="comment">
    <label for="email">
        <b>Email</b>
        <input type="email" id="email" name="email">
    </label>

    <label for="comment">
        <b>Comment</b>
        <textarea id="comment" name="comment" cols="30" rows="10"></textarea>
    </label>

    <input type="submit" value="Save">
</form>
</div>

</div>

</body>
</html>
4

2 に答える 2

0

jQuery モバイルは、最初のページでない場合、post.js を含めません。これがどのように機能するかです。最初のページのすべてが読み込まれ、その後、AJAX を介して data-role="page" が挿入されます。この動作は、ここに文書化されています。

これを修正するには、次の 2 つのオプションがあります。

  1. ページ変更イベントの 1 つを使用して、コードを実行します。
  2. コードを data-role="page" div 内に移動します。
于 2013-05-03T14:27:33.293 に答える