Javascript 使用jquery解析html并调用submit按钮
我正在调用一个web服务方法并尝试调用一些操作。然而,响应是“html”。我需要解析它并调用submit按钮并附加输出 以下是html(数据)的外观:Javascript 使用jquery解析html并调用submit按钮,javascript,jquery,ajax,parsing,html-parsing,Javascript,Jquery,Ajax,Parsing,Html Parsing,我正在调用一个web服务方法并尝试调用一些操作。然而,响应是“html”。我需要解析它并调用submit按钮并附加输出 以下是html(数据)的外观: <form target="_blank" action='../someService.asmx/Action' method="POST"> <table > <tr> <td></td> <td align="righ
<form target="_blank" action='../someService.asmx/Action' method="POST">
<table >
<tr>
<td></td>
<td align="right"><input type="submit" value="Invoke" class="button"></td>
</tr>
</table>
</form>
我看到三个问题,第一,阻止默认值应该是处理程序的第一行(我猜),第二,您正在调用
事件。preventDefault
但是您的处理程序有一个名为e
的参数,第三,您应该在表单上调用submit
事件,而不是在输入上:
data = $.parseHTML(data);
$(data).find('form').submit(function(event){
event.preventDefault();
$('#result').append(output);
});
我不确定preventDefault
调用是否应该始终位于处理程序的开头,但我的意见是,更容易知道该处理程序正在阻止事件的默认行为
编辑
在您的评论之后,以下是我相信您想要做的:
data = $.parseHTML(data);
var $form = $(data).find('form');
$form.submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function (data) {
$('#result').append(data);
},
error: function (error) {
console.log(error);
}
});
});
$form.trigger('submit');
我之前尝试过这种方法,它没有输出任何东西。您要附加到#result的输出变量是什么?事实上,我试图附加提交事件后得到的输出。但是,由于我试图使用alter(“test”)进行测试,submit事件无法正常工作;首先,代码只是向submit事件添加一个处理程序,而不是触发事件。其次,您必须在该处理程序中添加一个ajax调用,您不会自动得到响应:)让我在我的答案中为您快速编辑。编辑。请查收。
data = $.parseHTML(data);
var $form = $(data).find('form');
$form.submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function (data) {
$('#result').append(data);
},
error: function (error) {
console.log(error);
}
});
});
$form.trigger('submit');