使用javascript从Formview获取对象

dan*_*ani 4 javascript asp.net

我需要通过javascript获取在Formview inserttemplate中退出的文本框.

两者都返回null:

$get('txtTitle');
document.getElementById("txtTitle");
Run Code Online (Sandbox Code Playgroud)

问题是formview不会在表单加载时呈现...

Por*_*key 7

正如您所说,formview内容是根据请求而不是页面加载在服务器上呈现的.也就是说,尝试使用此代码访问formview中的控件.更改"FormView"的名称以匹配您的唯一控件ID.

document.getElementById('<%=FormView.FindControl("txtTitle").ClientID%>');
Run Code Online (Sandbox Code Playgroud)

如果需要,以下是一些有用的事件,如果存在生命周期因素,您可以使用这些事件在代码中注册javascript.

ItemCreated在FormView控件创建的所有行后,事件引发的.首次呈现控件时,或者当用户导航到另一个记录时,可能会发生这种情况.您可以使用此事件来提供执行自定义例程的事件处理方法,例如,只要发生此事件,就会添加或修改行的内容.

注意:ItemCreated事件发生在FormView控件绑定到数据之前.要修改绑定字段的值,请使用DataBound事件.

  • 顺便说一下,我只能通过在formview的<EditItemTemplate>中输入javascript来实现这一点.如果我把javascript放在页面的顶部,我得到一个关于引用空值的对象的asp错误.我假设因为如果javascript位于页面的开头,那么formview还没有呈现,因此当javascript正在寻找时它不存在. (2认同)