2

这种问题可能会被问好几次,但我的问题是不同的。

我有一个文本字段,它的声明是这样的

<input type="text" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" />

当我输入一个单词时,所有类似缓存电子邮件的下拉列表都会出现在文本框下方。

我尝试添加标签仍然它来了autocomplete="off"input

我也写了这个javascript,但没有运气。

<script type="text/javascript">
    document.getElementById("email").reset();
</script>

有什么方法可以从我的表单中删除缓存电子邮件的下拉列表。我只想删除这个文本框的缓存而不是整个表单。

4

9 回答 9

5

autocomplete="off"不是 XHTML 过渡的有效标记,这是一种常见的 DOCTYPE

尝试

jQuery

$("#email").attr("autocomplete","off");

Javascript

document.getElementById("email").setAttribute("autocomplete","off");

让我知道这是否有帮助。

于 2012-09-26T06:41:56.580 回答
2

如何使用<textarea>而不是<input>. 它肯定会工作,因为<textarea>不会显示下拉菜单。查看代码

<textarea  autocomplete="off" name="email" id="email"  onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" rows="1" >
value here</textarea>
于 2012-10-03T12:53:02.390 回答
1

而不是添加autocomplete="off"到输入标签尝试将其添加到表单标签

<form name="myform" method="post" autocomplete="off">
于 2012-09-26T06:41:35.583 回答
1

代替输入类型文本使用输入类型电子邮件

<input type="email" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" />
于 2012-10-03T12:48:20.677 回答
1

您可以使用 JavaScript 更改相关输入元素的名称。

document.getElementById("email").name = Math.random();

这将为元素每次赋予一个全新的名称,并且浏览器不会将其识别为电子邮件输入,因此不会显示缓存。

这在过去对我有用。

于 2012-10-03T16:24:54.043 回答
1

尝试添加以下变量:

// Older browsers
onCopy=”return false”
onPaste=”return false”
onDrag=”return false”
onDrop=”return false”

autocomplete="off" // HTML 5
于 2012-10-03T18:57:39.487 回答
1

autcomplete=off 选项不是标准的,但您可以在大多数浏览器中使用它,它应该可以工作,但不是作为输入属性,而是它所属的形式:

<form ... autocomplete="off">
    # your inputs
</form>

尽管这更多是客户端问题而不是应用程序问题。更多关于这里:

https://developer.mozilla.org/en-US/docs/How_to_Turn_Off_Form_Autocompletion

于 2012-10-04T10:47:30.197 回答
1
于 2012-10-04T18:51:24.647 回答
0

问题出在缓存上,所以我从浏览器中清除了整个缓存并使用了我正在使用的 html

<input type="text" autocomplete="off" name="email" id="email" value="Email" onfocus="if (this.value=='Email') this.value='';" onblur="if (this.value=='') this.value='Email';" onkeyup="javascript:chk_email(this.value);" onblur="javascript:chk_email(this.value);" />
于 2012-10-03T09:44:24.083 回答