Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从输入文本元素中删除缓存下拉列表_Php_Javascript_Html - Fatal编程技术网

Php 从输入文本元素中删除缓存下拉列表

Php 从输入文本元素中删除缓存下拉列表,php,javascript,html,Php,Javascript,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.

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

我有一个文本字段,它的声明如下

<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”
添加到输入标记中,尝试将其添加到表单标记中

<form name="myform" method="post" autocomplete="off">

autocomplete=“off”
不是XHTML Transitional的有效标记,XHTML Transitional是一种常见的DOCTYPE

试一试

jQuery

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

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

让我知道这是否有帮助。

问题在于缓存,所以我从浏览器中清除了整个缓存,并使用了我正在使用的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);" />

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


代替
怎么样。它将确保
不会显示下拉列表。参见代码

<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>

这里的价值

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

document.getElementById("email").name = Math.random();
这将每次给元素一个全新的名称,浏览器不会将其识别为电子邮件输入,因此不会显示缓存


这在过去对我有效。

尝试添加以下变量:

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

autocomplete="off" // HTML 5

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

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

#你的投入
尽管这更多的是客户机问题,而不是应用程序问题。更多信息请点击此处:


将文档类型声明为

<!DOCTYPE html>

由于
autocomplete=“off”
不是XHTML转换的有效标记,
这是一个常见的DOCTYPE

我写了这个
我只想删除这个文本框的缓存,而不是整个表单。
查看问题。谢谢你的回答。但这是没有帮助的。下拉列表仍在继续。请发布您的代码并告诉我您正在检查哪个浏览器,好吗?我已经发布了足够的代码供查看。我使用的是
Firefox
。是的,但这还不足以跟踪确切的错误,因为这个选项在正常情况下应该可以工作,所以只想看看html/js,或者你可以创建fiddle和show me()。请注意文档中的一部分,它声明在“name”和“address”参数的情况下属性将被忽略。另外,请阅读这些案例的解决方法。
<form ... autocomplete="off">
    # your inputs
</form>
<!DOCTYPE html>