Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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
如何在JavaScript中清空(重置)输入类型电子邮件,然后在其中填充空格(in.value=“不起作用”)_Javascript_Html_Validation_User Controls - Fatal编程技术网

如何在JavaScript中清空(重置)输入类型电子邮件,然后在其中填充空格(in.value=“不起作用”)

如何在JavaScript中清空(重置)输入类型电子邮件,然后在其中填充空格(in.value=“不起作用”),javascript,html,validation,user-controls,Javascript,Html,Validation,User Controls,当只使用空白填充输入(type=“email”)并希望使用JavaScript清理它(value==”)时,它不起作用。考虑下面的代码():< /P> 试试看 但是输入类型为text或password的相同代码可以工作!我正在测试Chrome 编辑: 是的,使用setAttribute有效。但是如果您不想更改输入属性,有什么解决方案吗?这里,如果只有字符串,输入将为空。 编辑以反映Dacre的观察结果。设置input.value未更新实际控件 document.addEventListen

当只使用空白填充输入(
type=“email”
)并希望使用JavaScript清理它(
value==”
)时,它不起作用。考虑下面的代码():< /P>

试试看
但是输入类型为
text
password
的相同代码可以工作!我正在测试Chrome

编辑:
是的,使用
setAttribute
有效。但是如果您不想更改输入属性,有什么解决方案吗?

这里,如果只有字符串,输入将为空。 编辑以反映Dacre的观察结果。设置input.value未更新实际控件

document.addEventListener('DOMContentLoaded',function(){
document.querySelector('button')。addEventListener('click',function(){
让email=document.getElementById('myEmail');
email.setAttribute('value',email.value.trim());
console.log(email.value.length);
});
});


尝试使用它,而不是直接设置
属性,通过执行以下操作直接设置电子邮件输入的“值”属性:

document.getElementById(“btn”).addEventListener(“单击”,函数(){
//删除此项:
//document.getElementById(“myEmail”).value=“”;
//替换为:
document.getElementById(“myEmail”).setAttribute(“value”,即“);
})
电子邮件:
试试看

单击按钮清空电子邮件字段。请注意,即使电子邮件字段包含空格,单击后placehold仍然可见。

您试图检查用户是否仅使用了空格?不是。你说的我已经知道怎么做了。我只是想清空输入。这是一个非常奇怪的交互,您所做的操作可以很好地处理输入
type='text'
,但由于某些原因,它会在
type='email'
@csr nontol中出现问题。属性绑定到输入。我不确定你想要达到什么样的结果?@Bibberty与JS合作时会有所不同。e、 g.-输入是干净的,-用户写入一些文本,然后:
in.value!==在.getAttribute(“值”)
Yes中。这很有效。但你能解释一下为什么会这样吗?可以不更改输入属性吗?@csr nontol刚刚更新了答案-希望有帮助:)@DacreDenny-hmm,我在编写和测试时使用Chrome。“你看到了什么错误?”DacreDenny根据你的观察编辑。对的输入本身未被清除,需要调用setAttribute。好地方。
<input type="email" id="myEmail" placeholder="Enter e-mail" autocomplete="off">
<button onclick="document.getElementById('myEmail').value = '';">Try it</button>