表单提交上的Javascript新按钮

Javascript new button on form submit

本文关键字:按钮 新按钮 Javascript 表单提交      更新时间:2023-09-26

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

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

然后我有:

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

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

谢谢!

按钮没有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(){...

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

所以你会有一个表格,比方说:

<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) { ... });
$("#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() {

由于CCD_ 14被附加到该元素。

请记住,单击该按钮时不会触发submit事件,因为它不是提交按钮,所以可以使用以下代码:

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