2015-03-11 5 views
-1

Я хочу, чтобы пользователь подтвердил свое действие перед выполнением коды стороны сервера, но ничего не происходит, и код на стороне сервера в настоящее время выполняются обычноява-скрипт не выполняются

это код JS:

function confirmation() { 
      if (document.getElementById("chkbx").checked==true) { 
       return (confirm("want to add as A?")); 
      } 
      else 
       return (confirm("want to add as B?"));     
     } 

и когда я удалить если (document.getElementById ("chkbx"). проверили == TRUE) он работает отлично !!

Я вызываю это удовольствие. используя OnClientClick():

<asp:Button ID="btn" runat="server" OnClick="btn_Click OnClientClick="return confirmation()" />

+0

проверить, если ваш код загружается на страницу. – user1929959

+0

, а затем попробуйте гораздо более простое подтверждение функции() { return confirm ("хотите добавить как" + document.getElementById ("chkbx"). Checked? "??:" B? "); } ' – mplungjan

+0

На самом деле это был мой оригинальный код @mplungjan –

ответ

0

ASP.NET заменяет идентификаторы серверных элементов управления с его собственной фанки системы.

Так что, когда у вас есть

<asp:Button ID="btn" runat="server" OnClick="btn_Click" OnClientClick="return confirmation()" /> 

Это фактически визуализируется со случайным идентификатором

<input type="button" id="asp_net09325403854" onclick="btn_Click"> 

Вы можете попытаться получить значение вынесенного ID, как

function confirmation() { 
    if (document.getElementById("<% btn.ClientID %>").checked==true) { 
    return (confirm("want to add as A?")); 
    } 
    else 
    return (confirm("want to add as B?"));     
    } 
} 
Смежные вопросы