[英]Calling JavaScript function on hitting enter key in input box
虽然我可以按Enter键来调用Javascript函数。 我在用户按下Enter键时调用了shortIt()
函数, shortIt()
从输入框中获取了文本,并向Google URL Shortener API发出了返回短URL的请求,但生成的响应仅持续了几秒钟。 我在div中显示响应。
似乎是一个很奇怪的问题,代码在这里https://s3-ap-southeast-1.amazonaws.com/s3freebucket/URLShortner/url-shortner.html
但是,当我单击shortIt
按钮以缩短网址时。 它工作正常并且响应文本保留在div中。
这是因为在按Enter键时, form
提交。 发生这种情况时,您会注意到页面正在重新加载。 这是默认行为,是使用<form>
。 在提交表单时,将加载表单action
属性中的页面。 在这种情况下,未设置<form>
的action
属性,因此只重载了您所在的页面,因此脚本停止运行并重新加载了页面。
解决此问题的两个简单方法:
(最简单的方法)删除表单标签-它不用于提交任何内容,因此删除它应该会使一切仍然有效
触发表单submit
事件时,请阻止默认操作。
使用JQuery:
$('#myForm').on('submit', function (evt) { evt.preventDefault(); // prevents form submission });
其中myForm
是您的表单标签的ID。 您将需要在现有的html表单标签中添加一个id属性: <form id="myForm" class="form-horizontal">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.