我看过很多类似的问题,但也许我不明白如何调用我的函数。
我的目标是允许用户在表单字段中输入内容并按回车键提交。
目前,如果有人在表单中输入值,则单击 Enter 不会执行任何操作。要执行,他们必须单击“搜索库存”按钮。
我的搜索表单简化了...有很多字段,都带有 jquerydata 类。 inventory_search_db_connect 类绑定(bind)到一个 jQuery 函数,该函数将 jquerydata 的所有内容收集为一个类并执行其操作。
<form method="post" action="" name="form3" id="form3">
<input type=text name="title" size=25 value="" class="jquerydata">
<input type=button class="inventory_search_db_connect" value=" Search Inventory" class="jquerydata">
</form>
javascript/jQuery
$(document).ready(function () {
pageBinds.db_actions();
SearchBinds.search_actions();
});
var pageBinds = {
db_actions: function() {
var that = this;
$('.inventory_functions_db_connect').on(
'click', function(event){
var query= $(this).closest('.parent').find('.jquerydata').serialize();
....does stuff here
);
},
unbind: function() {
$('.inventory_functions_db_connect').off();
this.db_actions();
}
}
我尝试了几种方法,我认为可能有效的方法是
$(document).ready(function() {
$('#form3').on("submit", function() {
this.db_actions();
});
});
在我添加的表单标签上
<form method="post" action="" name="form3" id="form3" onsubmit="return false">
既然我在这里,这显然行不通。
还有许多其他解决方法,但我无法破译如何调用我想要的函数。
预先感谢您提供任何见解... 迈克
最佳答案
在 html 中删除 onsubmit="return false" 因为它阻止执行该操作
$('#form3').on("submit", function() {
this.db_actions();
});
然后在JS中你必须通过调用preventDefault()来阻止自动提交:
$('#form3').on("submit", function(e) {
e.preventDefault();
this.db_actions();
});
<小时/>
Edit:
this.db_actions();
不会工作,因为这是 DOM 元素
$('#form3').on("submit", function() {
pageBinds.db_actions();
});
让我知道这是否有效;)
关于javascript - 从输入时提交到 jQuery,无需提交按钮,无需表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212160/