2016-10-02 9 views
0

フォームを使用したPHPファイルがあります。フォームアクションは別のPHPファイルです。 フォームを送信すると、次のページ(フォームアクションページ)のJqueryが機能しません。しかし、自分でそのページを開くと(フォームアクションではなく)Jqueryが完璧に動作しています。最初のページにフォームが送信されているページでJqueryスクリプトが動作しない

コード:

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
<script src="getsnacks.js"></script> 
</head> 
<body> 

<div data-role="page"> 
    <div data-role="header" id="status"> 
     <h1>Snacks Bestellen</h1> 
    </div> 
    <div data-role="main" class="ui-content"> 

     <fieldset class="ui-field-contain" id="snack1"> 
      <span id="snack1optie1"> 
      <select name="optie1" id="optie1" class="optie1"> 
      </select> 
      </span> 
      <span id="snack1optie2"> 
      <select name="optie2" id="optie2" class="optie2"> 
      </select> 
      </span> 
      <span id="snack1optie3"> 
      <select name="optie3" id="optie3" class="optie3"> 
      </select> 
      </span> 
     </fieldset> 
    </div> 
</div> 

</body> 
</html> 

jQueryのページ(単なるテスト)の:

$(document).ready(function() { 
    $('#snack1optie2').hide(); 
    $('#snack1optie3').hide();  
    $('#snack1optie1').click(function(){ 
     $('#snack1optie2').show(); 
    }); 
    $('#snack1optie2').click(function(){ 
     $('#snack1optie3').show(); 
    }); 
    $('#snack1optie3').click(function(){ 
     $('#snack1optie3').hide(); 
    }); 
}); 

おかげでevaluatelogin.phpページで

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 
<script src="login.js"></script> 
</head> 
<body> 

<div data-role="page"> 
    <div data-role="header" id="status"> 
     <h1>Snacks Bestellen</h1> 
    </div> 
    <div data-role="main" class="ui-content"> 
    <form method="post" action="evaluatelogin.php"> 
     <label for="company">Bedrijfsnummer:</label> 
     <input type="text" name="company" id="company"> 
     <fieldset class="ui-field-contain" id="fieldset_user"> 
     <label for="user">Gebruiker:</label> 
     <select name="user" id="user"> 
     </select> 
     </fieldset> 
     <input type="submit" value="Volgende" data-icon="user" data-iconpos="right" data-inline="true"> 
     </form> 
    </div> 
</div> 

</body> 
</html> 

コード事前、

+0

? –

+0

HEADのgetsnacks.jsファイルにあります。 –

+0

$(document).readyの外にコードを書き込もうとしました –

答えて

0

フォーム提出はAJAXで実行されます。

投稿時に、jQuery Mobileは、指定されたURLがAjax経由で取得され、適切に処理できることを確認します。

フォームの属性がdata-ajax="false"で無効になっていて、正常に動作します。あなたはjQueryのコードを配置している

<form method="post" action="evaluatelogin.php" data-ajax="false"> 

jQuery mobile docs

+0

素晴らしい、ありがとうございました! –

関連する問題