基本上,我试图读取原始字段值,但在某些情况下不能读取,如下所示。
考虑一个简单的电子邮件表单字段:
<input type="email" name="username" id="username" />当我输入常规电子邮件时,Javascript可以按预期读取值。当我输入所有汉字时,Javascript也可以按预期读取值。然而,当我混合拉丁文和中文字符时,Javascript似乎会转换成某种代码字符集。
测试示例:
test@test.com //returns test@test.com 暮捕徹@暮捕徹.暮捕徹 //returns 暮捕徹@暮捕徹.暮捕徹 test@暮捕徹.com //returns test@xn--r5t43fptd.com test@test.暮捕徹 //returns test@test.xn--r5t43fptd
测试代码:
function login(){
var username=document.querySelector('#username').value;
var resultDiv=document.createElement('DIV');
resultDiv.innerText = username;
document.querySelector('body').appendChild(resultDiv);
return false;
}<form onsubmit="javascript: return false;">
<label for="username">Username</label>
<input type="email" name="username" id="username" />
<button onclick="login();">
Login
</button>
</form>
我尝试过的事物:
<head>:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><input type="email" name="username" id="username" accept-charset="utf-8" />https://stackoverflow.com/questions/43421836
复制相似问题