我试图在ajax响应后调用jquery.submit((函数。ajax响应包含形式。但是当我提交表格而没有刷新时,它无法致电jquery.submit((函数。
我在成功的ajax响应之后用现有代码预先准备表格
success: function(data) {
event.preventDefault();
$(".name_wrapper").prepend('<form class="replyName"><textarea name="name" placeholder="Write your name"></textarea><button type="submit" class=" btn btn-primary">Reply your name</button></form>');
},
error: function(data) {}
因此,将表格添加到现有代码后。当我尝试提交表格时,它会刷新而不是调用该功能。如何使jquery.submit((从ajax响应中可行?
$(".replyName").submit(function(event) {
alert(event.currentTarget[0].value);
});
您应该在 prepend
之后放置 submit
事件。因为event
的加载后CC_3的s仅被束缚在元素上。
并且由于prepend
动态形式,jQuery
不知道它必须提交哪个元素,因为它在事件时不存在 binded 。
success: function(data) {
event.preventDefault();
$(".name_wrapper").prepend('<form class="replyName"><textarea name="name" placeholder="Write your name"></textarea><button type="submit" class=" btn btn-primary">Reply your name</button></form>');
$( ".replyName").submit(function( event ) {
alert(event.currentTarget[0].value);
event.preventDefault();
});
},
error: function(data) {}
由于未在文档中创建表单,因此您无法收听提交事件,除非您将事件听众预先登录表单后将事件听众放入DOM
之后success: function(data) {
event.preventDefault();
$(".name_wrapper").prepend('<form class="replyName"><textarea name="name" placeholder="Write your name"></textarea><button type="submit" class=" btn btn-primary">Reply your name</button></form>');
$(".replyName").submit(function(event) {
alert(event.currentTarget[0].value);
});
},
error: function(data) {}
您也可以从身体DOM
处理事件$('body').on('submit', '.replyName', function(e){
// code here
});
您可以做两件事:
您可以像这样重新启动点击函数:
success: function(data) {
event.preventDefault();
$(".name_wrapper").prepend('<form class="replyName"><textarea name="name" placeholder="Write your name"></textarea><button type="submit" class=" btn btn-primary">Reply your name</button></form>');
$('button').bind('click', function (event) {
event.preventDefault();
alert(event.currentTarget[0].value);
});
},
error: function(data) {}
,也可以尝试此
$('button').on('click', function(e){
// code here
});