![](/img/trans.png)
[英]How to add div panel in html and javascript when clicking submit button in html form?
[英]How to add submit button to an HTML form with JavaScript function?
以下表单在用户按下 Enter 键时触发 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);
}
我猜问题是如何在按下“输入”键时禁用表单提交。 好吧,监听 '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');
});
});
为了可访问性,最好保持默认行为。 但是,对于某些元素应该是必需的,请仅对这些元素禁用“输入”键。 但不是在表单上提交。 用户可以“tab”到“提交”按钮,然后按“回车”键。 那时,需要兑现“回车”键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.