整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

javascript的onblur调用函数失效问题记录

东IT优就业

广州IT培训老师给大家说说,onblur调用函数失效问题。

在处理页面上一个失焦效果时遇到了 xxxx is not a function 这样的错误,但函数确实有定义成功 ,经过测试发现是 id 值与函数名一致导致的问题,但是产生的原因没有找到详细的解释 ,如果有了解的大佬希望可以在评论中留言告知。

具体测试代码如下:

此时触发失焦事件时会出现 test is not a function的错误。

如果将 id="test" 调整 id="test_" 则此时可以正确调起函数,示例如下:

希望广州IT培训老师上述分享的内容对大家有所帮助,有其他IT常见问题欢迎提出交流。

广东IT优就业

出处:www.cnblogs.com/xueTP/p/8376611.html

更多IT精彩推荐:

月入过万的WEB工程师是如何炼成的?http://www.ujiuye.com/zt/webqianduan/?

段时间亚马逊日本站出公告称卖家不能在详情页面上使用HTML代码后,其他站点的亚马逊卖家就开始了一连串的问候:为什么美国站并没有这个news?为什么欧洲站并没有这个news?是不是新规只针对日本站?

现在亚马逊给出答案:欧洲站以及美国站卖家也即将不能使用HTML标签了。


Listing新规重要通知6月27日起,亚马逊详情页面将不再支持使用HTML标记!


Amazon HTML禁令将于2021年6月9日生效,该禁令将终止在产品详细信息页面上使用任何HTML,6月8日是允许使用HTML的最后一天。


为了确保买家的安全,并提高在非HTML设备上显示商品的通用性,于2021年6月27日之后,亚马逊将不再支持在商品详情页面的商品描述中使用HTML标记,并将停止显示其HTML格式。


公告截图如下:

请注意:各站点生效时间不一,请在卖家平台查看“新闻”板块。

  • 日本/墨西哥/澳洲/新加坡/阿联酋&沙特:6月27日起
  • 美国:7月17日起
  • 欧洲:7月19日起
  • 印度:7月26日起

建议卖家在上述日期之前更新所有商品详情页面中带有HTML标记的商品信息。您可以使用卖家平台或常规渠道进行此类更新。


举例说明:


如果商品描述的其中一行使用了HTML标记,则该行可能会被删除,也可能不显示HTML格式,具体取决于HTML标记的使用情况。


对于大多数卖家来说,您的产品详细信息页面上可能没有HTML。但是,如果您在说明中插入了HTML,则需要在截止日期之前将其删除。否则,该行将被删除或显示时不使用HTML格式,具体取决于自6月8日起使用的标签。


而Amazon仅允许将一种HTML代码用作特殊用例,就是换行符。


新规来袭,卖家们不要惊慌,小编整理了相关常见问题,帮助各位更好地理解新规,迅速找到解决方案。


1.之前使用HTML标记的Listing是否受影响?还是只对新政策生效后新建的Listing有影响?


新规生效后,所有Listing都需符合新规要求。在2021年6月27日之后,亚马逊将不支持在商品详情页面的商品描述中包含HTML标签,并将停止显示其HTML格式。


2.新规生效后,还有哪些HTML标记可以使用?


请勿在商品详情页面使用HTML、JavaScript或其他类型的代码。在特殊情况下,卖家可以在描述中使用换行符 。


3.如果不做任何改变, 在这个政策生效之后,页面呈现会发生怎样的变化?


如果商品描述的其中一行使用了HTML标记,则该行可能会被删除,也可能不显示HTML格式,具体取决于HTML标记的使用情况。


4.新规是否会对关键词抓取产生影响?


理论上不会影响,但可能会对页面格式和页面转化率带来影响。


5.应对新规,有什么解决方案建议吗?


建议卖家使用A+页面。A+页面允许您利用图片和文字的组合,通过展现场景化的商品图片,来讲述独特的品牌故事,让买家充分了解商品,增强宣传效果进而提升销售转化。


目前A+页面向日本站点卖家全面开放;北美和欧洲站点卖家必须先完成亚马逊品牌注册,才能使用A+页面的丰富产品描述模版展示商品。


商品详情页也要注意:


买家通过商品详情页面了解卖家的商品,亚马逊也对商品详情页面进行了严格规定,亚马逊要求卖家确保每个商品详情页面包含单一商品,这有助于为买家提供清晰且一致的购买体验。一般来说,卖家需要遵守以下规定:


1、遵守任何相关的风格指南,避免使用HTML、JavaScript或其他代码。

2、排除不适宜的内容,如淫秽或攻击性材料、链接或联系信息、情节剧透、评论或评论请求以及广告。

3、避免为已有详情页面的商品创建重复页面。

4、准确地分类和描述商品。

5、为新商品或新版本创建新的详情页面。

6、仅创建与主要商品相关的有效“变体”。


其中亚马逊表明在商品详情页中不允许出现:电话号码、地址、在商品图片上添加水印或者广告。而且表明商品名称不能超过200个字符(包括空格、符号)如果未能遵守这些标准,会导致负面情况出现,严重的情况会导致卖家销售权永久取消。

者 | Mateusz Iwaniuk

译者 | 明明如月,责编 | 夕颜

出品 | CSDN(ID:CSDNnews)

文章配套代码: https://github.com/iwaniukooo11/email-sender

现在,即使是创建最基本的网站,程序员也必须使用现代的功能和技术。甚至像为你的朋友创建简单的投资组合这样的基本项目也可能涉及到一些问题,比如从联系人表单接收数据。有很多方法可以读取这些数据。你可以将表单与数据库连接起来,然后从数据库中读取传入的消息来实现功能,但这样做会给不懂技术的客户造成困难。

你为什么不通过发送电子邮件传输信息?

不使用数据库就能接收到传入的消息,绝对是最佳选择,也是最方便用户的选择。但问题来了—如何实现呢?你可能认为需要使用某种后端语言。

实际上,你不必使用任何如 php 或 python 这种后端语言,你甚至不需要用到 node.js!你需要的就是一个简单的EmailJS 库。

本文将介绍下面两个重要功能:

  • 配置 emailjs 帐户

  • 使用 JS 发送电子邮件

请注意,在我的项目中,我使用了 gulp 和 webpack,我在 src 文件夹存放源码,dist 存放最终发布版本的代码。

我将分 5 个步骤向你展示如何从头开始构建电子邮件发送器。

步骤1-用 HTML 创建表单

首先需要创建一个 HTML 表单。你不必放置像 required 或 max 这种验证属性,因为稍后,preventDefault 函数将在你的提交事件上运行,它会让这些属性的处理失效。

表单中最重要的是为每个输入放置 name 属性,后面会用到。

我的非常简单的表单是这样的:

src/html/index.html

 <form class="form"> <input name='name' type="text" placeholder="Your name..." class="form__input" /> <input name='topic' type="text" placeholder="Topic..." class="form__input" /> <textarea name='message' type="text" placeholder="Your Message..." class="form__input" ></textarea>

<input type="submit" value="send" class="form__input form__input--button"> </form>

步骤2-注册成为 email 用户

要配置你的电子邮件,你必须注册电子邮件服务。别担心—使用这个网站非常方便和省时。

登入后,系统会询问你的电子邮件服务,它位于个人电子邮件服务区(personal email service)。在我的例子中,我选择了 gmail。

然后,你需要连接你的 gmail 帐户。这将用来发送电子邮件给你客户。例如,如果你关联了 xyz@gmail.com 账户,你后续发送的邮件都将从这个邮箱发出。所以不要担心“ Send email on your behalf” 这个授权信息—这正是你需要的!

连接完 gmail 账户后,点击添加服务(add service)按钮。

步骤3-创建邮件模板

如果你已经成功连接了你的 gmail 账户,你现在应该在信息中心中。现在需要创建电子邮件模板了。

切换到电子邮件模板卡,并单击创建一个新的模板(create a new template)。界面非常友好,所以创建模板不会有任何问题。

你可以选择模板的名称和 ID。我称之为“我的神奇模板(my_amazing_template)”。

接下来,你必须指定邮件的内容。

模板的变量值来自 input 中的 `name` 属性。你已将变量插入`{{{}}}`符号中。

不要忘记在“收件人”部分 (右侧) 添加电子邮件地址。你的电子邮件将被发送到该电子邮件地址上。截图中的收件人邮箱是我自己的公司邮箱。

这是我的简单模板,它使用来自 HTML 表单里的 3 个变量。我还指定了接收电子邮件的主题。

步骤4-保存 API 密钥

这部分没什么特别的。Emailjs 共享授权 API 密钥,将在发送电子邮件时使用。当然,放这些钥匙最好的地方是`.env` 配置。但是因为我使用的是简单的静态文件,我不想使用服务器配置,所以我将它们保存在 apikeys 文件中,然后再将它们导入。

你的 USER_ID 位于 Account > API Keys 菜单下。

TEMPLATE_ID 位于模板的标题下面。

这是我基于不存在的 keyssrc / js / apikeys. js 的示例配置.

src/js/apikeys.js

export default { USER_ID :'user_DPUd-rest-of-my-id', TEMPLATE_ID:'my_amazing_template'}

如果需要将源码发布到 GITHUB,不要忘记将 APIKEYS 文件添加到 .GITIGNORE文件中

步骤5-发送电子邮件

现在是该项目最后也是最重要的部分的了。现在我们必须使用 javascript 发送电子邮件。

首先,你必须下载 emailjs 包。

npm i emails-com

然后,转到 js 文件,导入库和 apikeys。

src/js/main.js

import emailjs from 'emailjs-com'import apiKeys from './apikeys'

现在是编写发送电子邮件功能的时候了

src/js/main.js

const sendEmail = e => { e.preventDefault

emailjs .sendForm('gmail', apiKeys.TEMPLATE_ID, e.target, apiKeys.USER_ID) .then( result => { console.log(result.text) }, error => { console.log(error.text) } )}

sendForm 函数有4个参数:

你的电子邮件的 ID,在这里:

TEMPLATE_ID 来自 apikey 文件,

事件对象来自你的表单提交

USER_ID 来自 apikey 文件,

最后,查找表单并添加提交事件监听器:

src/js/main.js

const form = document.querySelector('.form')form.addEventListener('submit',sendEmail)

正如我前面提到的,由于 `preventDefault` 函数,属性验证将无法工作。你必须使用 JS 自己进行验证和清除输入。

以上就是全部内容,接下来让我们测试一下。

填写页面上的表单并发送。

我收到电子邮件,内容正是根据我们的模板和表单数据渲染出来的。

通过上图可以看出,所有的变量的值都填充到了正确的位置上。

总结

通过本文的介绍你会发现用 JS 发送邮件并非难事。

使用 emailjs,你可以简单的方式发送电子邮件。

我相信你未来的用户会很高兴收到来自他们网页上表单填写数据的t邮件,相信本文对你有帮助。

这篇文章的配套代码在这里: https://github.com/iwaniukooo11/email-sender

原文链接:

https://dev.to/iwaniukooo11/send-e-mails-directly-from-front-end-with-js-5d7d

本文为CSDN翻译文章,转载请注明出处。

☞我们想研发一个机器学习框架,6 个月后失败了

☞生产型机器学习已经没那么困难了?

☞视频 | 你不知道的"开源"60年秘史

☞GitHub标星10,000+,Apache项目ShardingSphere的开源之路

☞阿里技术专家告诉你,如何画出优秀的架构图?

☞加拿大API平台如何做到30%为中国明星项目?创业老兵这样说……