表单提交上的Javascript新按钮

时间:2013-07-09 22:02:13

标签: javascript forms button submit

我正在尝试让我的程序在表单提交上创建一个新按钮。我知道我做错了什么但不知道如何解决它。这是我的代码:

$("#searches").append('<button id="recent-searches">' + textbox + '</button>')

然后我有:

$("#recent-searches").on('submit', function() {

我认为代码的第二部分是我出错的地方。任何帮助都会很棒。

谢谢!

3 个答案:

答案 0 :(得分:1)

按钮没有submit个事件,您的意思是click还是在表单上提交事件?

尝试

$("#recent-searches").on('click', function() { // if you are biding this after appending the button.

否则

$(document).on('click',"#recent-searches" function() { // if you are binding this prior to appending the button to the DOM. use $("#searches").on(... if that element is available all the time in DOM.

如果#searches是表单,那么您可以这样做:

$("#searches").on('submit', function(){...

答案 1 :(得分:0)

$("#recent-searches").on('submit', function() {

这将绑定到与该事件的id recent-searches匹配的元素。如果该元素不存在则jQuery将不执行任何操作。您必须将事件绑定到整个文档(或包含ID为recent-searches的元素的父级)并指定ID,如下所示:

$(document).on('click', '#recent-changes', function() {

在这种情况下,我认为这样的事情应该有效:

$('#searches').on('click', '#recent-changes', function() {

由于#recent-changes被附加到该元素。

请注意,单击该按钮时不会触发 submit 事件,因为它不是提交按钮,您可以使用此代码:

$("#searches").append('<input type="submit" id="recent-searches" value="' + textbox + '" />');

答案 2 :(得分:0)

您正在创建一个按钮#recent-searches,当您点击它时,它会接收事件click。但是,它不会触发submit个事件,因为当点击form类型的input元素时,这些仅适用于submit元素。

所以你有一个表格,让我们说:

<form id="searches"> ... </form>

您要添加按钮的位置,可能就是这样:

$("#searches").append('<input type="submit" id="recent-searches">' + textbox + '</input>');

,然后你会做:

$("#searches").on("submit", function (e) { ... });

或者你也可以拥有button但是绑定一个click事件,如下所示:

$("#recent-searches").on("click", function (e) { ... });