繁体   English   中英

如何将值从文本框存储到asp.net vb.net应用程序中的javascript变量中

[英]How to store value from a textbox into a javascript variable in a asp.net vb.net application

我正在使用asp.net; vb.net; Java脚本。 并希望将一些值存储在java脚本变量中。

<%@ Page Title="" Language="VB" MasterPageFile="~/_resx/E4.master" AutoEventWireup="true" CodeFile="new.aspx.vb" Inherits="E4_Jobs_new" ValidateRequest="false" %>

<%@ Register Src="~/_controls/ucApplicationQuestions.ascx" TagPrefix="Application"
TagName="Questions" %>

  <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="Server">
     <script type="text/javascript">
         var id = '<%= ModeID%>',
             mode = '<%= Mode%>',
             employer = '<%= Employer.Name %>',
             jobtitle = document.getElementById(<%= txtTitle.ClientID%>);

     </script>

     <asp:RequiredFieldValidator runat="server" ControlToValidate="txtTitle" Display="None" ErrorMessage="xx" ValidationGroup="NewJob" EnableViewState="False" />
         <div class="form-element">
              <input type="text" id="txtTitle" runat="server" maxlength="64" /></div>
</asp:Content>

现在,如您在我的代码中看到的,我有四个Java脚本变量。

id, mode, employer  & jobtitle

对于前三个变量,我得到了正确的结果。 但是对于最后一个,我无法获得正确的结果。

我想要的是文本框中的输入值将在第四个变量中(在提交表单之前)。

我试图通过使用document.getelementbyid获取值并将其存储为

jobtitle = document.getElementById(<%= txtTitle.ClientID%>)

我也尝试过

jobtitle = document.getElementById(<%= txtTitle.ClientID%>).value

但它不起作用。 (而且编辑也不建议我使用value。它建议valueof)

当我看到源代码时,我看到以下结果

<script type="text/javascript">
    var id = '609',
        mode = 'draft',
    employer = 'MyPeopleBiz',
    jobtitle = document.getElementById(ctl00_MainContent_txtTitle);

</script>

文本字段的源代码是这样的

<input name="ctl00$MainContent$txtTitle" type="text" id="ctl00_MainContent_txtTitle" maxlength="64" />

我如何获取值并将结果存储在javascript变量中。

尝试这个

jobtitle = document.getElementById("<%= txtTitle.ClientID%>").value;

如果此代码在服务器端运行,因此在生成DOM之前,您将无法访问任何DOM节点,因为它们尚不存在。

相反,您可以将<%= txtTitle.ClientID%>放到页面上的隐藏字段中,然后使用jQuery的$(document).ready()功能获取隐藏字段的结果并根据需要使用它(即分配将其转换为全局变量jobtitle

尝试在.value之前添加[0]:

var jobtitle = document.getElementById(“ <%= txtTitle.ClientID%>”)[0] .value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM