2011-02-18 161 views
6

Estoy tratando de obtener el valor del cuadro de texto en un javascript, pero no está funcionando. A continuación se muestra el código de mi página de pruebaObtener el valor de Textbox en Javascript

<%@ Page Title="" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="false" 
CodeFile="test3.aspx.vb" Inherits="test3" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server"> 
<script language="javascript"> 

    function GetAlert() { 

     var TestVar = document.getElementById('txt_model_code').value; 
     alert(TestVar); 

    } 

</script> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> 
<asp:TextBox ID="txt_model_code" runat="server" ></asp:TextBox><br /><br /> 

<input type="button" value="db Function" onclick="GetAlert()" /><br /> 
</asp:Content> 

Entonces, ¿dónde voy mal? Cómo obtener el texto ingresado en el cuadro de texto en el javascript ???

+6

hacer esto: 'TestVar var = document.getElementById ('<% = txt_model_code.ClientID%> '). value; ' – deostroll

+0

@deostroll gracias funcionó .. Ahora qué hacer si quiero mostrar ese valor en otro cuadro de texto – Shijilal

+2

document.getElementById (' <% = anothertextboxid.ClientID%> ') .value = TestVar – Nirmal

Respuesta

15

Uso

document.getElementById('<%= txt_model_code.ClientID %>') 

en lugar de

document.getElementById('txt_model_code')` 

también se puede utilizar en lugar de onClientClickonClick.

+0

cuando uso la función en text_model_code onTextChange, está diciendo que la función no es parte de mi archivo aspx ... ¿Por qué? Shijilal

+1

Creo que necesitas usar esto en onChange = "GetModelPageMethod();" – Nirmal

+0

ohk gracias ... funcionó – Shijilal

0
<script type="text/javascript" runat="server"> 
public void Page_Load(object Sender, System.EventArgs e) 
    { 
     double rad=0.0; 
     TextBox1.Attributes.Add("Visible", "False"); 
     if (TextBox1.Text != "") 
     rad = Convert.ToDouble(TextBox1.Text);  
     Button1.Attributes.Add("OnClick","alert("+ rad +")"); 
    } 
</script> 

<asp:Button ID="Button1" runat="server" Text="Diameter" 
      style="z-index: 1; left: 133px; top: 181px; position: absolute" /> 
<asp:TextBox ID="TextBox1" Visible="True" Text="" runat="server" 
      AutoPostBack="true" 
      style="z-index: 1; left: 134px; top: 133px; position: absolute" ></asp:TextBox> 

utilizar la ayuda de esto, espero que sea útil

1

El ID que está tratando es un serverside.

Esto se renderizará en el navegador de forma diferente.

intente obtener el ID mirando el html en el navegador.

var TestVar = document.getElementById ('ctl00_ContentColumn_txt_model_code'). Value;

esto puede funcionar.

O haga ese método ClientID. Eso también funciona, pero al final el navegador obtendrá lo mismo que yo escribí.

6

Esto se debe a que ASP.NET cambiar el ID de su campo respectivo, si ejecuta su página, y hacer una vista de origen, verá el cuadro de texto ID es algo así como

ctl00_ContentColumn_txt_model_code

Hay son algunas de las formas redondas: este

Use el nombre del control real:

var TestVar = document.getElementById('ctl00_ContentColumn_txt_model_code').value;

utilizar la propiedad ClientID dentro de las etiquetas de secuencia de comandos ASP

document.getElementById('<%= txt_model_code.ClientID %>').value;

O si está ejecutando .NET 4 se puede utilizar la nueva propiedad ClientIDMode, ver este enlace para más detalles.

http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx1

2

Puesto que usted tiene página maestra y su control está en el contenido marcador de posición, el ID de control se generarán diferentes en el lado del cliente. tienes que hacer como ...

var TestVar = document.getElementById('<%= txt_model_code.ClientID %>').value; 

JavaScript se ejecuta en el lado del cliente y para obtener el valor que tiene para ofrecer ID de cliente de su control

0

 <script type="text/javascript"> 
      function MyFunction() { 
       var FNumber = Number(document.getElementById('txtFirstNumber').value); 
       var SNumber = Number(document.getElementById("txtSecondNumber").value); 
       var Sum = FNumber + SNumber; 
       alert(Sum); 
      } 

     </script> 

     <table class="auto-style1"> 
      <tr> 
       <td>FirstNaumber</td> 
       <td> 
        <asp:TextBox ID="txtFirstNumber" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
      <tr> 
       <td>SecondNumber</td> 
       <td> 
        <asp:TextBox ID="txtSecondNumber" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
      <tr> 
       <td>&nbsp;</td> 
       <td> 
        <asp:TextBox ID="txtSum" runat="server"></asp:TextBox> 
       </td> 
      </tr> 
      <tr> 
       <td>&nbsp;</td> 
       <td> 
        <asp:Button ID="BtnSubmit" runat="server" Text="Submit" OnClientClick="MyFunction()" /> 
       </td> 
      </tr> 
     </table> 
    </div> 
</form> 
+0

Amablemente Agregue un contenido de Explicación. – Rajesh

Cuestiones relacionadas