2016-10-02 2 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="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> 

код на странице 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="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(); 
    }); 
}); 

Спасибо аванс,

+0

где вы ставите свой код Jquery? –

+0

Он находится в файле getsnacks.js в HEAD. –

+0

попытайтесь написать свой код за пределами $ (document) .ready –

ответ

0

Подача формы выполняется с помощью AJAX.

On submit, jQuery Mobile будет удостовериться, что указанный URL можно получить через Ajax и соответствующим образом обработать.

Отключенно с атрибутом формы data-ajax="false", и он будет работать нормально.

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

jQuery mobile docs

+0

Отлично, спасибо, что работает! –

Смежные вопросы