【问题标题】:How to store value from a textbox into a javascript variable in a asp.net vb.net application如何将文本框中的值存储到 asp.net vb.net 应用程序中的 javascript 变量中
【发布时间】:2016-03-16 17:52:32
【问题描述】:

我正在使用 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

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

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

我正在尝试使用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 变量中。

【问题讨论】:

    标签: javascript jquery asp.net vb.net


    【解决方案1】:

    试试这个

    jobtitle = document.getElementById("&lt;%= txtTitle.ClientID%&gt;").value;

    【讨论】:

    • 不工作 .. 在源代码中我得到这个 jobtitle = document.getElementById("+ctl00_MainContent_txtTitle+").value;
    【解决方案2】:

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

    相反,您可以将&lt;%= txtTitle.ClientID%&gt; 放入页面上的隐藏字段中,然后使用jQuery 的$(document).ready() 功能来获取隐藏字段的结果并根据需要使用它(即将其分配给您的全局变量@987654323 @。

    【讨论】:

    • txtTitle 的值不固定。它将是用户给出的值。如何将值存储在隐藏字段中。?如果我不明白答案,请原谅我
    【解决方案3】:

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

    var jobtitle = document.getElementById("")[0].value;

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2014-04-24
      • 2015-06-19
      • 2018-05-19
      • 2020-05-10
      相关资源
      最近更新 更多