Предотвратить публикацию ссылки LinkButton OnClientClick не работает. Почему?
21496 просмотра
4 ответа
Я знаю, что есть множество ответов на эту тему, но я просто не могу заставить это работать.
Мне нужно, чтобы кнопка ссылки не отправлялась назад, а следующий код не работает. Код определенно попал во все необходимые места.
Определение кнопки ссылки:
<asp:LinkButton ID="NavHelp" OnClientClick="showConfirm(event);" OnClick="NavHelp_Click" ToolTip="Help" runat="server"></asp:LinkButton>
Функция Javascript (определенно ударил)
function showConfirm(event) {
event.stopPropagation();
return false;
}
Однако после showConfirm
возврата false кнопка ссылки все еще отправляет обратно в NavHelp
метод на стороне сервера .
В качестве примечания, я также поставил точку останова в __doPostback
методе, сгенерированном .NET, и он получает удар после showConfirm
возврата false.
Кто-нибудь может пролить свет на это?
Автор: Dan Cook Источник Размещён: 13.11.2019 11:46Ответы (4)
6 плюса
Правильно, разобрался. Мне нужно было включить оператор возврата в атрибут OnClientClick:
OnClientClick="return showConfirm(event);"
НЕ
OnClientClick="showConfirm(event);"
Автор: Dan Cook
Размещён: 23.05.2013 10:04
1 плюс
кстати, вы можете использовать свой оригинальный код, но вместо того, чтобы использовать, event.stopPropagation()
вы можете использоватьevent.preventDefault()
так что ваш код будет
<asp:LinkButton ID="NavHelp" OnClientClick="showConfirm(event);" OnClick="NavHelp_Click" ToolTip="Help" runat="server"></asp:LinkButton>
function showConfirm(event) {
event.preventDefault();
return false;
}
прочитайте больше о event.preventDefault () и event.stopPropagation () здесь: http://davidwalsh.name/javascript-events
по сути, protectDefault не позволяет элементу выполнить его действие dfault, то есть просмотр ссылки или отправку формы, в то время как остановка позволяет разрешить действие dfault, НО не сообщает никаким родительским элементам о том, что оно произошло.
я создал небольшой jsfiddle: http://jsfiddle.net/XgSXr/, который показывает вам режим предотвращения по умолчанию, это должно позволить вам вставить свою собственную логику javascript, отобразить модалы и т. д., прежде чем успешно нажимать по ссылке.
Автор: kolin Размещён: 23.05.2013 01:301 плюс
Это работает:
<asp:LinkButton ID="NavHelp" ClientIDMode="Static" OnClientClick="showConfirm(event);" OnClick="NavHelp_Click" ToolTip="Help" runat="server"></asp:LinkButton>
<script>
$("#NavHelp").click(function(event) {
if (showConfirm()) {
event.stopPropagation();
event.preventDefault();
return false;
}
return true;
});
</script>
Автор: Pavlo Neyman
Размещён: 06.02.2014 09:44
0 плюса
Добавить оператор возврата в onClientClick Javascript Event
OnClientClick="return showConfirm(event);"
Поэтому, когда showConfirm возвращает false, запрос не будет передан на сервер и страница не будет отправлена обратно.
Автор: Pankaj Agarwal Размещён: 23.05.2013 01:37Вопросы из категории :
- javascript Как определить, какой из указанных шрифтов был использован на веб-странице?
- javascript Валидация клиентской стороны ASP.Net
- javascript Длина объекта JavaScript
- javascript Получение текста из выпадающего списка
- javascript Скрипт входа со скрытыми кнопками
- javascript Как автоматически изменить размер текстовой области с помощью Prototype?
- javascript Удаление элементов с помощью Array.map в JavaScript
- javascript Прокрутка переполненных DIV с помощью JavaScript
- javascript API Карт Google - проблемы с классом GLatLngBounds
- javascript Проверка десятичных чисел в JavaScript - IsNumeric ()
- asp.net Контрольный список для проверки подлинности Windows IIS 6 / ASP.NET?
- asp.net .NET - получить протокол, хост и порт
- asp.net Как получить полный URL страницы, на которой я нахожусь в C #
- asp.net Как заставить Visual Studio заново создать файлы .designer для файлов aspx / ascx?
- asp.net Response.Redirect с POST вместо Get?
- asp.net Лучший способ в asp.net заставить https для всего сайта?
- asp.net Что такое расширение файла .MSPX?
- asp.net Не удалось загрузить тип «XXX.Global»
- asp.net How do I Validate the File Type of a File Upload?