当前位置: 首页 > 面试题库 >

防止Angular破坏电子邮件输入

贲培
2023-03-14
问题内容

如果我有一个<inputtype="email">,并且用户输入了一个国际化域名,则Angular_(编辑:除了不是Angular的错,会_自动将值转换为punycode,这是一个不错的功能,但如果值将显示回给他们。例如

abc@ábc.com

变成

abc@xn--bc-lia.com

当后端需要该域的原始Unicode版本时,它也会引起问题,而Angular应用会发送punycode版本。

我可以使用例如punycode.js将其转换回去,但是有没有一种方法可以在Angular中完成而又不涉及其他库-
要么告诉Angular不要进行编码,要么随后获得原始值?

var myApp = angular.module('myApp',[]);



function thing($scope) {

}


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<body ng-app="myApp">

<p>Copy this text into the input:</p>

<p>abc@ábc.com</p>

<div ng-controller="thing">

  <input id="inp" type="email" class="form-control" ng-model="addr">

  <p>Model gets: {{addr}}</p>

</div>

</body>

问题答案:

事实证明,这不是那个角的这样做,它的浏览器(Safari浏览器也_不会_具有相同的行为,没有测试其他浏览器)。

这是不使用Angular时发生的示例-在Chrome中尝试以下操作:

function update() {

  document.getElementById('output').innerText = document.getElementById('inp').value

}


<p>Copy this text into the input:</p>

<p>abc@ábc.com</p>

<div ng-controller="thing">

  <input id="inp" type="email" onchange="update()">

  <p>Browser says: <span id="output"></span></p>

</div>

因此,简短的答案是“否”,没有办法通过Angular停止它-目前似乎也没有办法告诉Chrome也不要这样做。



 类似资料:
  • 问题内容: 我正在运行gulp 3.6.2,并具有从在线示例中设置的以下任务 每当我的CoffeeScript gulp手表出现错误时,手表就会停止-显然不是我想要的。 正如其他地方推荐的那样 但它似乎不起作用。 我究竟做错了什么? 响应@Aperçu的回答,我修改了方法并尝试了以下操作: 重新启动,然后在我的coffee文件中创建语法错误。相同的问题: 问题答案: 您的函数应如下所示: 我认为您

  • 我最近开始创建电子邮件模板,遇到了一些问题,我找不到任何解释。 我从buttons.cm生成按钮时希望它们是防弹的,虽然它们对大多数客户端都很好,但在基于web的outlook客户端上却失败了。 结果如下所示(稍有修改,稍后解释) 我的目标是: 工作版本的屏幕截图 但我得到的所有基于浏览器的outlook客户端的信息是: 失败版本的屏幕快照 问题是在失败的版本中 单元格填充失败 按钮不再是链接,实

  • 我使用的是firebase javascript API。 也不起作用

  • 问题内容: 从TABLE布局切换到DIV布局以来,一个普遍的问题仍然存在: 问题 :您用动态文本填充DIV,并且不可避免地会有一个超长单词延伸到div列的边缘,使您的网站看起来不专业。 复古 :这 从未 发生过表布局。一个表格单元格总是可以很好地扩展到最长单词的宽度。 严重性 :我什至在大多数主要站点上都 遇到了 这个问题,尤其是在德国站点上,这些站点甚至连“限速”之类的通用词都非常长(“ Ges

  • 问题内容: 我想在我的网站上使用自动填充/自动格式化的“收件人”字段,该字段的工作方式类似于GMail中的字段。 有谁知道jQuery这样的事情? 纯JavaScript?还是其他选择? 问题答案: 有很多的jquery位可以做到这一点,您可以在Google上搜索“ jquery autocomplete”,然后看看最喜欢哪个。 这是比较有名的一个:http : //docs.jquery.com

  • 我正在编码HTML电子邮件,并试图得到一个背景横幅图像,以在Outlook2010,11,13,16呈现多少正确。当前使用此-http://backgrounds.cm/。我的问题是《Outlook 2010》和《Outlook 2013》似乎在背景图像上放大了。 我的代码: 这似乎是一个已知的问题,但我没有遇到任何修复。https://www.campaignmonitor.com/forums