2017-06-30 7 views
0

私はちょうど学習フラスコに入っていますので、ポップアップフォームを持つ非常に単純なページを作成しました。私が理解できないことは、jQuery 1.7.0以降を使用するとポップアップフォームが機能しますが、ページの異なるセクションにリンクするアンカーは機能しません。 jqueryのバージョンを1.6.4以下に変更すると、アンカーリンクは機能しますが、ポップアップフォームは機能しません。これはjquery mobileを使用した初めてのことであり、私の問題の一部になる可能性があります。私は以下のコードを投稿しました。どんな助けもありがとうございます。本当にありがとう!jqueryのバージョンを変更するとアンカーが破れます

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Title</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="{{ url_for('static', filename='css/bootstrap.min.css') }}"> 
    <link rel="stylesheet" href="{{ url_for('static',filename='css/style.css') }}"> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> 
    <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
    <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script> 
    <script src="https://js.stripe.com/v3/"></script> 
    <script src="{{ url_for('static',filename='js/stripe-local.js') }}"></script> 
    <link href="https://fonts.googleapis.com/css?family=Lora:700i|Titillium+Web" rel="stylesheet"> 
</head> 
<body> 
    <nav class="navbar navbar-inverse navbar-default navbar-fixed-top"> 
      <ul class="nav navbar-nav"> 
      <li class=><a href="#home">Home</a></li>  
      <li><a href="#about">About</a></li> 
      <li><a href="#contact">Contact</a></li> 
      <li><a href="#pay">Pay</a></li> 
      </ul> 
    </nav> 
    <div class="jumbotron" id="home"> 
     <div class="container-fluid"> 
      <h1>Design Something</h1> 
     </div> 
    </div> 
    <div class="container-fluid" id="about"> 
     <div class="row"> 
      <h1 class="anchor">About</h1> 
      <img src="{{ url_for('static', filename='img/img.jpg') }}" class="img-rounded center-block"></img> 
      <div class="container"> 
      <p>blah blah blah blah blah</p> 
      </div> 
     </div> 
    </div> 
    <div class="container-fluid" id="contact"> 
     <div class="row"> 
      <h1 class="anchor">Contact Me</h1> 
      <p>[email protected]</p>  
     </div> 
    </div> 
    <div class="container-fluid" id="pay"> 
    <h1 class="anchor">Pay Now</h1> 
    <a href="#popupPay" data-rel="popup" class="ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left">Pay Now</a> 
     <div data-role="popup" id="popupPay" class="ui-content" style="min-width:250px;">  
      <form method="post" action="charge.py"> 
       <div> 
        <h3>Payment Form</h3> 
        <label for="name" class="ui-hidden-accessible">Name:</label> 
        <input type="text" name="name" id="name" placeholder="name"> 
        <input type="submit" data-inline="true" value="Pay $"> 
        <div class="outcome"> 
         <div class="error" role "alert"></div> 
         <div class="success"> 
         Success! Your Stripe token is <span class="token"></span> 
         </div> 
        </div> 
       </div> 
      </form> 
     </div> 
    </div> 
</body> 
</html> 
+0

私は申し訳ありませんが、なぜあるを追加することによって、それを無効にすることができ、全体のビルド負荷をロードするだけの機能のより特定の機能のためにそれを使用している場合jQueryライブラリを変更していますか? – aduss

+0

何が壊れているのか、その理由を理解しようとしています。 – EngiNeer732

答えて

2

jquery mobileのためアンカーリンクが壊れます。 jQuery Mobileには、すべてのリンクをajax呼び出しに変更する機能があります。 jquery mobileをどのような目的で使用していますか?あなただけの代わりに、あなたがhttp://jquerymobile.com/download-builder/

を使用するか、次のコード

$(document).bind("mobileinit", function() { 
    $.mobile.ajaxEnabled = false; 
}); 
+0

恐ろしい!どうもありがとうございます!私はポップアップフォームのためにjQuery mobileを使っていました。私はまだjQueryモバイルについて学んでいますが、アンカーをajax呼び出しに変更する目的は何ですか? – EngiNeer732

+0

これは、モバイルでサイトをより高速に読み込むため、ユーザーがリンクページをクリックするたびに完全にリロードされないようにするためです。 –

関連する問題