如何使用JavaScript函数在HTML表单中添加提交按钮
How to add submit button to an HTML form with JavaScript function?
下面的表单在用户按下回车键时触发一个JavaScript函数。但是,我希望当用户按下提交按钮时触发该函数。
<form action="">
<input type="text" name="query" size="20" class="hintTextbox" id='emailinput' placeholder='email'>
<input type="text" name="query" size="20" class="hintTextbox" id='variablesinput' placeholder='variables'>
</form>
$('#variablesinput').keypress(function (e) {
if (e.keyCode == 13) {
var email = $('#emailinput').val();
var variable = $('#variablesinput').val();
alert(email + variable);
}
});
也可以在这里查看:https://jsfiddle.net/chrisguzman/7Tag3/5/
表单元素在提交表单时发出一个onsubmit
事件(为了提高发生这种情况的几率,实际上包含一个<input type="submit">
按钮)。将当前的JavaScript替换为:
$("form").submit(function() {
var email = $('#emailinput').val();
var variable = $('#variablesinput').val();
alert(email + variable);
});
最好在你想要的特定表单上设置一个id,并在选择器中使用它。
不建议在提交按钮上使用click
处理程序,而不是更可靠和语义上合适的submit
事件。
您可以使用click()
方法
// Let's say you have a submit button within the form
// with an id of ="submit_btn"
$("#submit_btn").click(function(){
// do stuff in here
});
让一个函数同时处理(输入&(提交按钮),并防止"提交"事件。这样的:
$('#variablesinput').keypress(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
submiting();
}
});
$( "#f" ).submit(function(e) {
e.preventDefault();
submiting();
});
function submiting() {
// do somthing:
var email = $('#emailinput').val();
var variable = $('#variablesinput').val();
alert(email + variable);
}
https://jsfiddle.net/7Tag3/8/我猜问题是如何禁用表单提交时,按下'enter'键。那么,监听'keypress'事件,如果keyCode为=== 13,则阻止该事件的默认行为并阻止其传播。
请参考此页
标记:
<form id="form">
<input type="text" class="no-submit-on-return">
<input type="text" class="no-submit-on-return">
<input type="text" class="no-submit-on-return">
<input type="text" class="no-submit-on-return">
<input type="submit">
</form>
香草JavaScript:
var form = document.querySelector('#form');
form.addEventListener('submit', function(e){
e.preventDefault();
e.stopPropagation();
alert('Submit event');
});
var noSubmitOnReturns = document.querySelectorAll('.no-submit-on-return');
[].slice.call(noSubmitOnReturns).forEach(function(noSubmitOnReturn){
noSubmitOnReturn.addEventListener('keypress', function(e){
e.preventDefault();
e.stopPropagation();
alert('Keypress event');
});
});
为了便于访问,最好保持默认行为。但是,对于某些元素应该是必需的,请仅为这些元素禁用'enter'键。但不是在表格上提交。用户可以点击"提交"按钮,然后按"进入"键。这时需要按回车键
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 使用jQuery检查提交时添加到句子中的单词
- 添加和删除隐藏字段数组中的值,而不提交表单
- 使用加号按钮添加多个文本框,并通过PHP提交
- 为提交文本区域添加输入
- 提交评论不适用于新添加的帖子
- 动态添加/复制表单时绑定到表单提交事件
- 如何在用户提交链接时添加提取推文并将其发布到站点的功能
- Jquery 提交表单,在成功提交表单到 php 后添加
- Rails 4:动态添加的复选框未提交
- 提交表单时如何在 HTML 表格中添加行
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 拦截动态添加的表单提交
- 添加提交按钮以 jquery 星级评定
- 如何添加提交表单的 5 分钟脚本倒数计时器
- 如何添加提交函数到js的Onclick函数
- 如何使用JavaScript函数在HTML表单中添加提交按钮
- 如何添加提交功能到我的ng-controller
- 添加提交按钮到jquery搜索表单
- 向submit()添加提交按钮值