2013-04-25 117 views
0

我有以下代码片段在我的主人页(abc.master)如何在表单标记上的自动填充关闭时为文本框启用自动填充功能?

<form id="Form1" method="post" runat="server" autocomplete="off">

上述主页被用于多个用户控件。其中之一,我想为其中一个文本框启用自动完成功能。我只想让该文本框显示用户过去输入的值。试图做到这一点通过:

<asp:TextBox ID="Textbox1" Runat="server"autocomplete="on"></asp:TextBox>

它不工作对我来说。我也尝试过AutoCompleteType,但这也行不通。任何指针都是可观的。

+0

如果你想只有一个自动完成,你应该打开它的形式和一个,并关闭对方。 – Roar 2013-04-26 06:10:02

+0

@Pawan Nogariya但为了做到这一点,我将不得不编辑13-14用户控件,我不想要。这就是我在主页面中放置autocomplete =“off”的原因,这样它就可以应用到所有用户控件中。是不是有一种简单的方法,我可以通过它为用户控件上的特定文本框启用它,而在母版页上保留autocomplete =“off”? – Sehnaaz 2013-04-26 06:56:15

+0

http://jsfiddle.net/6fNJB/工作正常,什么是promlem? – Roar 2013-04-26 06:59:47

回答

0

我想到的唯一答案是只有通过单独控制它才能完成。如果我们限制它在页面上,我们无法在控件上启用它,因为页面属性会接管控件。

0

autocomplete设置为on对于form

然后为控件单独设置autocomplete

<form id="Form1" method="post" runat="server" autocomplete="on"> 
    <!-- ON for this --> 
    <asp:TextBox ID="Textbox1" runat="server" autocomplete="on"></asp:TextBox> 

    <!-- OFF for this --> 
    <asp:TextBox ID="Textbox2" runat="server" autocomplete="off"></asp:TextBox> 
</form> 

编辑 - 选项2

有使用jQuery

Setautocomplete的form的方式,所有的元素那些要on再加入这个给你的JavaScript

$(document).ready(function(){ 
    $('input:not([autocomplete])').attr("autocomplete","off"); 
}); 

试试这个小提琴http://jsfiddle.net/CNk62/

+0

但是为了做到这一点,我将不得不编辑13-14个不想要的用户控件。这就是我在主页面中放置autocomplete =“off”的原因,这样它就可以应用到所有用户控件中。 – Sehnaaz 2013-04-26 06:47:52

+0

是不是有一个简单的方法,我可以通过它为用户控件上的特定文本框启用它,而在母版页上保留autocomplete =“off”? – Sehnaaz 2013-04-26 06:54:14

0

您只能启用页面的自动完成功能,您的usercontrol正在使用以下代码。 Form.Attributes.Add("autocomplete", "on")

你可以把这段代码放在页面加载事件上。

+0

如果我们为该特定的用户控件页面启用它,它将为该页面上的所有文本框启用自动填充功能,这是不期望的。我只想为一个文本框启用自动完成功能,对于其他文本框,它应该是diabled(我通过表单自动完成=“关闭”完成) – Sehnaaz 2013-04-26 08:11:39