Сохранение данных с помощью jquery не работает с формами [duplicate]

Если вы не хотите использовать какой-либо объект, вы можете использовать setattr() внутри вашего текущего модуля:

import sys
current_module = module = sys.modules[__name__]  # i.e the "file" where your code is written
setattr(current_module, 'variable_name', 15)  # 15 is the value you assign to the var
print(variable_name)  # >>> 15, created from a string
27
задан Vince Panuccio 20 May 2009 в 14:33
поделиться

4 ответа

$('#btnNext').click(function(e) {
        e.preventDefault();
    });
57
ответ дан user 22 August 2018 в 17:25
поделиться
  • 1
    Я заметил, что это не работает либо из-за рендеринга asp.net. Моя кнопка обрабатывается с помощью javascript: __ doPostBack («Любые идеи о том, как избавиться от этого? – Vince Panuccio 20 May 2009 в 15:20
  • 2
    Измените $('#btnNext') на это: $('#<%=btnNext.ClientID%>'). По умолчанию ASP.Net использует свое собственное идентификационное имя ... поэтому, используя свойство ClientID, вы можете получить фактическое имя для ссылки. – Eric Burdo 19 May 2014 в 15:32
  • 3
    Добавление к User434917's ответ: Encosia имеет хорошую запись на этом здесь - (обработчики нажатия кнопок, AJAX и преждевременная подача) – amorin 21 May 2014 в 21:50
  • 4
    @VincePanuccio, вы не можете избавиться от этого, поскольку это то, что позволяет элементам, не связанным с отправкой, выполнять поведение PostBack. Либо игнорировать его, либо понимать его, и использовать его для выполнения PostBack с клиентской стороны. – GoldBishop 6 February 2017 в 19:23

Я работал с кнопкой и обнаружил, что если вы хотите, чтобы кнопка не выполняла автоматическую обратную передачу, вам нужно указать тип как «кнопка». Например:

<button id="saveButton">Save</button> 

- это приведет к авто-обратной передаче (проверено в IE)

<button type="button" id="saveButton">Save</button> 

- это не будет

Hope это помогает кому-то.

16
ответ дан Joe Werner 22 August 2018 в 17:25
поделиться
  • 1
    Элегантный, простой и не требует никакого js. Это не только решило мою проблему, но и сделало это так, чтобы не раздувать мою кодовую базу. Благодаря! – Brian Swift 11 July 2014 в 00:15
  • 2
    Проблема @JoeWerner заключается в том, что некоторые разработчики используют элементы управления ASP вместо необработанного HTML. Некоторые разработчики ленивы, я знаю. В любом случае это работает только для тех, кто использует Raw HTML для создания веб-страницы. – GoldBishop 6 February 2017 в 19:25

внутри тега кнопки, используйте type = "Button", чтобы предотвратить отправку сообщения.

0
ответ дан Munish sharma 22 August 2018 в 17:25
поделиться

В Asp.net для предотвращения пересылки страницы при нажатии кнопки используйте функцию preventDefault ()

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>WebForm1</title>
        <script src="js/jquery-2.2.2.js" type="text/javascript"></script>
        <script>
            $(document).ready(function () {
                $("#btnshow").click(function (e) {
                    e.preventDefault();
                    $("#Label1").show();
                });
                $("#btnhide").click(function (e) {
                    e.preventDefault();
                    $("#Label1").hide();
                })
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>

        </div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <asp:Button ID="btnshow" runat="server" Text="Show" />
            <asp:Button ID="btnhide" runat="server" Text="Hide" />
        </form>


    </body>
    </html>
3
ответ дан Rae Lee 22 August 2018 в 17:25
поделиться
  • 1
    Это, вероятно, лучший практический подход, поскольку он относится непосредственно к .Net quandary. В некоторых сценариях вы также должны обрабатывать назначение идентификатора динамического управления в ожидании среды. – GoldBishop 6 February 2017 в 19:27
Другие вопросы по тегам:

Похожие вопросы: