2011-02-18 3 views
6

J'essaie d'obtenir la valeur de la zone de texte dans un javascript, mais cela ne fonctionne pas. Étant donné ci-dessous est le code de ma page de testObtenir la valeur de la zone de texte 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> 

Alors, où vais-je me tromper? Comment obtenir le texte entré dans la zone de texte dans le javascript ???

+6

faire ceci: 'var testVar = document.getElementById ('<% = txt_model_code.ClientID%> '). value; ' – deostroll

+0

@deostroll merci cela a fonctionné .. Maintenant, que faire si je veux montrer cette valeur dans une autre zone de texte – Shijilal

+2

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

Répondre

15

Utilisez

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

au lieu de

document.getElementById('txt_model_code')` 

Vous pouvez également utiliser onClientClick au lieu de onClick.

+0

lorsque j'utilise la fonction dans text_model_code onTextChange, il est dit que la fonction n'est pas une partie de mon fichier aspx .. Pourquoi ??? Shijilal

+1

Je pense que vous devez l'utiliser dans onChange = "GetModelPageMethod();" – Nirmal

+0

ohk thanks..it travaillé – 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> 

utiliser l'aide de cela, espérons qu'il sera utile

1

L'ID que vous essayez est un Serverside.

Cela va rendre dans le navigateur différemment.

essayez d'obtenir l'ID en regardant le code HTML dans le navigateur.

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

cela peut fonctionner.

Ou faites cette méthode ClientID. Cela fonctionne également mais finalement le navigateur obtiendra la même chose que ce que j'avais écrit.

6

En effet, ASP.NET il changer l'ID de votre zone de texte, si vous exécutez votre page, et faire une source de vue, vous verrez l'ID de zone de texte est quelque chose comme

ctl00_ContentColumn_txt_model_code

Il sont quelques moyens de contourner cela:

Utilisez le nom de contrôle effectif:

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

utiliser la propriété ClientID dans les balises script ASP

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

Ou si vous exécutez .NET 4, vous pouvez utiliser la nouvelle propriété ClientIDMode, voir ce lien pour plus de détails.

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

Puisque vous avez la page principale et votre contrôle est en place holder contenu, Votre identifiant de contrôle sera généré différent côté client. vous devez faire comme ...

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

Javascript fonctionne sur côté client et pour obtenir la valeur que vous devez fournir votre numéro de client de votre commande

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

Veuillez ajouter du contenu Explication .. – Rajesh

Questions connexes