首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >由于一些奇怪的原因,JavaScript不更新输入字段的值

由于一些奇怪的原因,JavaScript不更新输入字段的值
EN

Stack Overflow用户
提问于 2010-03-06 10:18:47
回答 2查看 487关注 0票数 0

表单定义为:

代码语言:javascript
代码运行次数:0
运行
复制
<%@ Page Language="C#" MasterPageFile="~/MasterPage1.Master" AutoEventWireup="true"
    CodeBehind="Search.aspx.cs" Inherits="Invoices.Search" Title="Search Page" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <form id="LoginForm1" method="post" runat="server">

..。

这就是我想要做的:

..。

代码语言:javascript
代码运行次数:0
运行
复制
 <input id="date_input1" readOnly type="text" size="6" name="date_input1">
        <script language="JavaScript" type="text/javascript">
        <!--


  document.forms['LoginForm1'].date_input1.value = month + '/' + date  + '/' + year;

……

问题是,什么都没有更新,脚本似乎挂起了,什么也不做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-06 10:23:42

服务器的ID不是客户端的id,因为您有runat=“LoginForm1”。

你可以这样做,但是如果你把“date_input1”控件改成了服务器端的控件,这也不会起作用。

代码语言:javascript
代码运行次数:0
运行
复制
document.forms[0].date_input1.value = month + '/' + date  + '/' + year;

老实说,在ASP.NET中有更好的方法来处理这类特性

票数 1
EN

Stack Overflow用户

发布于 2010-03-06 10:50:35

另一种方法是使用Jquery选择元素。无论ASP.net将控件的ID弄得多么疯狂,在ID字符串的末尾,原始ID始终是相同的。

Jquery可以根据很多东西来选择元素,其中之一是检查ID的一部分是否匹配。

你的代码看起来会是什么样子。

代码语言:javascript
代码运行次数:0
运行
复制
$("[id$='_date_input1']").val("New Value");

Janko在这里的一篇文章中描述了这种方法:

http://www.jankoatwarpspeed.com/post/2009/01/08/Select-ASPNET-server-controls-easily-with-jQuery.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2391117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档