Нажатие хорошо на предупреждение JavaScript представляет форму

У меня есть тревога, которые показывают пользователю, если они добавляют элемент, который уже существует на странице. У меня есть автоматическое заполнение и если пункт, который выбирает пользователь, я привожу в готовность их, что элемент был уже добавлен. Однако, когда я щелкаю хорошо тревоги, она представляет форму, которую я не хочу. Это только происходит для конкретного случая. Это происходит, когда я нажимаю, вступают в элемент автоматического заполнения, если элемент существует, я даю тревогу. Тогда, если я щелкаю хорошо начеку, форма подчиняется! У меня есть код, чтобы предотвратить, входят в представление формы. Вот мой код:

$(window).keydown(function(event){
    if(event.keyCode == 13) {
        event.preventDefault();
        return false;
    }
});

$(".autocomp_centers").autocomplete({

    serviceUrl:'/suggest_centers',
        maxHeight:400,
        width:252,
        params: {country: $("#country").val() },
        minChars:2,
        onSelect: function(value, data){
            var ids = [];
            $("#sister-centers-list > li").each(function(index, value){
                ids.push($(value).attr('class'));
            });

            if ($.inArray("center-"+data, ids)  == -1){
                $("#hidden-ids").append('<input type="hidden" name="center_ids[]" value="' + data +'" class="center-' + data + '"/>');
                $('#sister-centers-list').append('
  • ' + value + ' Remove
  • ');
                }else{
                    alert("Sister center has already been added.");
                }               
                $("#sister-search").val("");
            }
    });
    

    Это - форма рельсов:

        <%= form_for @center, :url => center_update_sister_centers_path(@center) do |f| %>
    
            <div class="field" style="margin-top:10px;">
                <%= f.submit 'Save', :class => "btn purple-button" %>
            </div>
    

    Каким образом форма представляется, когда она не была должна и как я мешаю этому произойти? Спасибо

    1
    добавлено отредактировано
    Просмотры: 2
    @Hugo метод, упомянутый ответами, работал на меня. В основном я jQuery (' form') .submit (функция() {event.preventDefault ()}); , прежде чем я буду звонить тревогу() и затем немедленно звонят form.unbind (' submit') , чтобы отменить его. Это - так браузер (только Хром делает это для меня), doesn' t ошибочно вызывают подчинение, в то время как обработка тревогу() .
    добавлено автор Steven Lu, источник
    @Hugo метод, упомянутый ответами, работал на меня. В основном я jQuery (' form') .submit (функция() {event.preventDefault ()}); , прежде чем я буду звонить тревогу() и затем немедленно звонят form.unbind (' submit') , чтобы отменить его. Это - так браузер (только Хром делает это для меня), doesn' t ошибочно вызывают подчинение, в то время как обработка тревогу() .
    добавлено автор Steven Lu, источник
    Я не вижу, где и как вы представляете свою форму!
    добавлено автор A. Wolff, источник
    проверяют этот ответ и целую нить также. Это может помочь вам
    добавлено автор Karthik Chintala, источник
    проверяют этот ответ и целую нить также. Это может помочь вам
    добавлено автор Karthik Chintala, источник
    Вы попробовали stopPropagation вместо preventDefault?
    добавлено автор mico, источник
    Просто произвольное предположение, но попытка, добавляющая тревогу (' something') в вашем $ (окно) .keydown (функция (событие) {и проверка, если, возможно, .autocomplete не отвергает его на той области
    добавлено автор beder, источник
    @Hugo худший вариант развития событий можно добавить .submit() событие к форме и проверке на совместно используемую переменную (canSubmitForm, например) $ (" #myForm") .submit (функция() {если (! canSubmitForm) ложное возвращение;}); я don' t думают it' s слишком симпатичный, хотя
    добавлено автор beder, источник
    @beder, когда я добавляю тревогу к функции keydown. Никакая тревога не появляется. Но keydown, кажется, работает, потому что он не представляет форму.
    добавлено автор Hugs, источник
    @mico stopPropagation doesn' t изменяют то, что происходит.
    добавлено автор Hugs, источник
    keyDown wasn' t работающий вообще и я don' t нужен он.
    добавлено автор Hugs, источник
    keyDown wasn' t работающий вообще и я don' t нужен он.
    добавлено автор Hugs, источник
    Взгляните на пузырь, любой, кто нуждается в помощи на этом
    добавлено автор Hugs, источник
    Взгляните на пузырь, любой, кто нуждается в помощи на этом
    добавлено автор Hugs, источник

    6 ответы

    Это - вопрос, которого сосредоточен элемент. Необходимо поместить keydown мероприятие на рассматриваемое поле ввода. Или вы добавляете , подчиняются() укладчик к вашей форме и реагируют соответственно.

    Предотвращение его в окне слишком позднее, потому что это уже вызвало представление, когда центр был на элементе формы (и только после того, как это пузырится до объекта окна).

    0
    добавлено

    Это - вопрос, которого сосредоточен элемент. Необходимо поместить keydown мероприятие на рассматриваемое поле ввода. Или вы добавляете , подчиняются() укладчик к вашей форме и реагируют соответственно.

    Предотвращение его в окне слишком позднее, потому что это уже вызвало представление, когда центр был на элементе формы (и только после того, как это пузырится до объекта окна).

    0
    добавлено

    Это - вопрос, которого сосредоточен элемент. Необходимо поместить keydown мероприятие на рассматриваемое поле ввода. Или вы добавляете , подчиняются() укладчик к вашей форме и реагируют соответственно.

    Предотвращение его в окне слишком позднее, потому что это уже вызвало представление, когда центр был на элементе формы (и только после того, как это пузырится до объекта окна).

    0
    добавлено

    Это - вопрос, которого сосредоточен элемент. Необходимо поместить keydown мероприятие на рассматриваемое поле ввода. Или вы добавляете , подчиняются() укладчик к вашей форме и реагируют соответственно.

    Предотвращение его в окне слишком позднее, потому что это уже вызвало представление, когда центр был на элементе формы (и только после того, как это пузырится до объекта окна).

    0
    добавлено

    Если вы не хотите форму к представленному, если "что-то", учитывая, что вы уже используете jQuery, не добавляет a .submit () укладчик к вашей форме

    0
    добавлено

    Если вы не хотите форму к представленному, если "что-то", учитывая, что вы уже используете jQuery, не добавляет a .submit () укладчик к вашей форме

    0
    добавлено