2013-11-18 2 views
1

Я использовал Javascript для кодирования подтверждающим поле, и это показывает «Ошибка выполнения JavaScript» при чтении значение этого текстового поля ... есть ли альтернативный вариант для этого окно подтверждения для работы ...Как исправить это поле Подтверждение?

<script type="text/javascript">   
    function test() { 
     var m = document.getElementById('<%=textbox1.ClientID%>').value; 

     if (m != "") { 
      var cBox = confirm("Are you sure want to add new user?"); 
      if (cBox == true) 
       return true; 
      else 
       return false; 
     } 
    } 
</script> 

и I я звоню в код позади ...

ScriptManager.RegisterStartupScript(Page, this.GetType(), "CallJS", "test();", true); 
+0

@ K3rnel31, теперь на странице показана ошибка сервера. Я уверен, что в нем будет «=» ... – Aneez

+0

[Вот аналогичный вопрос с решением] (http://stackoverflow.com/questions/6345484/passing-asp-net-client-ids-in -to-a-javascript-function) – Mark

ответ

0

Вы не можете этого сделать, вы пытаетесь получить clientId перед связыванием страницы.

Кстати попробовать что-то более чистое

Добавить этот блок в вашем * .aspx

<asp:Content ID="Content3" ContentPlaceHolderID="JavaScript" Runat="Server"> 
    <asp:PlaceHolder ID="contentScript" runat="server" /> 
</asp:Content> 

* .aspx.cs

string scriptJS = @"function test() { 
         var m = document.getElementById('" + textbox1.ClientID + "').value; 

         if (m != '') { 
          var cBox = confirm('Are you sure want to add new user?'); 
          if (cBox == true) 
           return true; 
          else 
           return false; 
         } 
        }"; 

HtmlGenericControl script = new HtmlGenericControl("script"); 
script = new HtmlGenericControl("script"); 
script.Attributes.Add("type", "text/javascript"); 
script.InnerHtml = scriptJS; 
contentScript.Controls.Add(script); 

Пожалуйста увеличить/refact этого кода с "string.Format".

+0

Какое пространство имен мы должны добавить для этого ..? – Aneez

+0

Если вы кодируете в C# web.forms, поместите это в методы Page_Load только для проверки. Перед этим вы можете проверить свою функцию, записывая свое вызов после объявления функции. Вам не нужно объявлять пространство имен, использовать то же самое пространство имен aspx.cs, помещая код внутри частичного класса. –

+0

Это не сработало ... – Aneez

Смежные вопросы