2

私はこれについてしばらく頭を悩ませていましたが、最終的に問題を切り分けることにしました。

したがって、ビューを表示するコントローラーがあります。ビューは入力と送信ボタンを備えた非常に基本的なものです。送信をクリックすると、URL は次に呼び出されるビューに変更されますが、実際のビューはブラウザーにロードされません。f5 を押すとこれは修正されますが、手動で介入しないとビューが読み込まれません。

codeigniterよりもjquery/jquery uiとjquery mobileの問題のようです。

ここに私の最初の見解があります:

<html>
   <head>
      <title>
        Link Orders
      </title>

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
     <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>

   </head>
<body>

    <form action="/sales/order_linking_complete"  method="post">

      <input type="text" id="ordernumber" name="ordernumber" />      
      <input type="submit" value="Link Orders">

</form>
</body>
</html>

ここにコントローラーがあります:

function order_linking_complete() 
  {
      $this->load->view('sales/link_order_summary');
  }

そして、ここに2番目のビューがあります:

<?php
  echo "test";
?>

<script type="text/javascript">
alert('test');
</script>

以下の2行を取ると

 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.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="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.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="/css/sales.css" />

この状況でjquery mobileを一番上に置くと、すべての正しいフォーマットとレイアウトが読み込まれるわけではありません。

これを正しく機能させるにはどうすればよいですか。これについて十分に説明したことを願っています。必要に応じて、さらに情報を求めてください。

いつもありがとう...

4

1 に答える 1

3

通常の方法で jQuery Mobile でフォームを正常に送信するには、追加の属性を追加する必要がありますdata-ajax="false"。その後でのみ、フォームは別のページに送信されます。それ以外の場合は、フォームの送信に ajax が使用されます。

あなたの場合は次のようになります。

<form action="/sales/order_linking_complete"  method="post" data-ajax="false>
    <input type="text" id="ordernumber" name="ordernumber" />      
    <input type="submit" value="Link Orders">
</form>

また、jQuery Mobile の可能性を最大限に活用する場合を除き、jQuery Mobile を使用しないでください。通常のページと混在すると問題が発生します。

于 2013-05-28T08:28:27.210 に答える