jQuery метод не является постоянным? - PullRequest
0 голосов
/ 01 марта 2012

Я использую некоторые события / методы jQuery / JavaScript, и они работают только на мгновение, после чего весь документ восстанавливает свое прежнее содержимое. Как получилось?

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        //jquery
        $("#f").submit(function(){
            $("h3").toggle();
            //alert("hello");
        });
        $("button").click(function(){
            alert("ZZZZZ");
        });
      });
    </script>
    <title>Catalog Nova Grup</title>
  </head>
  <body>
    <center>
      <h3 style="color:#00F">Catalog Nova Grup</h3>
    </center>
    <form id="f">
       <select id="s1">
         <option>---</option>
         <option>ZZZ</option>
       </select>
       <select id="s2"></select>
       <select id="s3"></select>
       <input type="submit" id="sb" />
     </form>
     <button>ZZZ</button>
  </body>
</html>

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Возможно, вам нужно либо return false из вашего обработчика событий, либо использовать e.preventDefault(), где e - это объект события, переданный вашему обработчику событий.

Например, в обработчике submit, прикрепленном к элементу <form>, вы должны сделать следующее:

$("#f").submit(function() {
    //do your stuff

    return false //stop browser following link
});

или

$("#f").submit(function(e) {
    e.preventDefault(); //stop browser following link

    //do your stuff
});

EDIT: Происходит то, что браузер отправляет форму, что по умолчанию приводит к перезагрузке страницы

2 голосов
/ 01 марта 2012

Поскольку форма отправляется, остановите ее с помощью return false;. Или добавьте параметр для отправки анонимной функции и вызовите .preventDefault().

$(document).ready(function () {
    //jquery                      
    $("#f").submit(function () {
        $("h3").toggle();
        //alert("hello");
        return false;
    });
    $("button").click(function () {
        alert("ZZZZZ");
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...