Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
IE6 JavaScript问题-can';在字段中键入文本_Javascript_Jquery_Input_Internet Explorer 6_Placeholder - Fatal编程技术网

IE6 JavaScript问题-can';在字段中键入文本

IE6 JavaScript问题-can';在字段中键入文本,javascript,jquery,input,internet-explorer-6,placeholder,Javascript,Jquery,Input,Internet Explorer 6,Placeholder,我正在为不支持占位符属性的浏览器编写回退代码。除了IE6之外,我所提出的方法在所有浏览器中都能完美运行 问题是:在聚焦两个字段中的任何一个后,占位符文本将按预期消失,但我无法在字段中键入或粘贴任何文本有时我会收到“错误84-未指定的错误”,但大多数时候,根本没有错误 我已将有问题的代码以最简单的形式上传到(代码也在下面) 这真的快把我逼疯了,以至于我开始认为我的IE6副本是不可靠的(这是一个安装),所以如果你们中任何一个有IE6副本的人能够快速检查上面的链接,并确认你遇到了与我相同的问题,我将不

我正在为不支持
占位符
属性的浏览器编写回退代码。除了IE6之外,我所提出的方法在所有浏览器中都能完美运行

问题是:在聚焦两个字段中的任何一个后,占位符文本将按预期消失,但我无法在字段中键入或粘贴任何文本有时我会收到“错误84-未指定的错误”,但大多数时候,根本没有错误

我已将有问题的代码以最简单的形式上传到(代码也在下面)

这真的快把我逼疯了,以至于我开始认为我的IE6副本是不可靠的(这是一个安装),所以如果你们中任何一个有IE6副本的人能够快速检查上面的链接,并确认你遇到了与我相同的问题,我将不胜感激

提前感谢:)

HTML

<input id="email_input" type="email" placeholder="Email" required="required" />
<input id="password_input" type="password" placeholder="Password" required="required" />

JavaScript(jQuery 1.6.2)

$(“电子邮件输入”).val(“电子邮件”).focus(函数(){
如果($(this.val()=“电子邮件”)
{
$(此).val(“”);
}
}).blur(函数(){
if($(this).val()==“”)
{
$(此).val(“电子邮件”);
}
});
$(“#密码_输入”).hide().after(“”).blur(函数(){
if($(this).val()==“”)
{
$(this.hide();
$(“#密码_占位符”).show();
}
});
$(“#密码_占位符”).focus(函数(){
$(this.hide();
$(“#密码输入”).show().focus();
});
如果你们中任何一个有IE6副本的人能够快速检查上面的链接并确认你遇到了和我一样的问题,我将不胜感激


我可以在IE6上输入字段。假占位符消失,我键入的内容显示出来,无论是当我用鼠标对焦还是用键盘进行切换。

我看到了一个类似于您在运行IE6的Windows 7虚拟机中通过旧的Xenocode沙盒描述的问题(包括页面加载错误84)

但是后来我用一个本机的、从未更新过的IE6启动了一个WindowsXP虚拟机,并且可以在那里加载你的小提琴,没有错误,代码按预期工作


所以,我认为你在这里没问题。

我在IE6下的IETester中测试了这个,它似乎运行正常。字段中的值在来回单击后被保留,我可以输入它们。

与您的问题无关,但作为提示,您可以通过为输入提供默认值,然后用默认值检查当前值,例如

<input value="email" 
 onfocus="if (this.value == this.defaultValue) this.value = '';"
 onblur="if (this.value == '')  this.value = this.defaultValue;"
 ... >


当然,你可以随心所欲地实现它,上面只是展示了策略。

实时链接是问题的一个很好的附属品,但也总是在问题中发布相关代码。有两个原因。1.人们不应该通过链接来帮助你。2.StackOverflow不仅是您现在的资源,也是其他将来有类似问题的人的资源。外部链接可以被移动、修改、删除等。通过确保问题中包含相关代码,我们可以确保问题(及其答案)在合理的时间内保持有用。@T.J.Crowder-感谢您的评论,我已将代码添加到帖子中,适用于除type=“password”之外的所有字段。对于这些字段,默认文本将显示为点,这不是预期的行为。对于密码字段,必须交换输入元素,如上所述。
<input value="email" 
 onfocus="if (this.value == this.defaultValue) this.value = '';"
 onblur="if (this.value == '')  this.value = this.defaultValue;"
 ... >