#javascript #asp.net #ajax
#javascript #asp.net #ajax
Вопрос:
ASP.net проект с использованием ajax (.net 2.0). У меня есть modalpopupextender, который связан с кнопкой изображения:
<asp:ImageButton ID="ibStartNow" runat="server" ImageUrl="images/StartNow.gif"
ToolTip="Save expense report header and start now!" CausesValidation="False"
OnClientClick="CheckReason(); NoPrompt();" />
Обратите внимание на событие OnClientClick существует функция js с именем CheckReason, эта функция просто проверяет текстовое поле с именем reason, чтобы увидеть, ввел ли кто-нибудь что-либо. Если они этого не сделали, я не хочу, чтобы ModalPopupExtender действительно открывался.
Вот эта функция JavaScript, хотя и уродливая 🙂
function CheckReason()
{
var txtReason = document.getElementById('txtReason');
var txtReasonVal = txtReason.value;
if (txtReasonVal.length > 0 amp;amp; txtReasonVal != 'Enter the reason for creating this expense report...')
{
return true;
}
else
{
txtReason.style.borderStyle='solid';
txtReason.style.borderColor='red';
return false;
}
}
Проблема в том, что даже если я нажму else и верну false, расширитель модального всплывающего окна все равно откроет модальное всплывающее окно. Мне это нужно, чтобы он не открывал всплывающее окно.
Ответ №1:
Посмотрим, поможет ли это
OnClientClick="javascript:var ret = CheckReason(); NoPrompt(); return ret;"
Комментарии:
1. Нет, это не делает этого. Я думаю, что это скорее проблема с тем, как работает modalpopupextender, поскольку в вашем коде нет ничего плохого.