[英]Getting a success info after submitting form via $.ajax in jquery
我在单个页面上有一些表格,并且通过这种方法提交它们:
$(function() {
$(".button").click(function() {
var upform = $(this).closest('.upform');
var txt = $(this).prev(".tekst").val();
var dataString = 'tekst='+ txtr;
$.ajax({
type: "POST",
url: "http://url-to-submit.com/upload/baza",
data: dataString,
success: function() {
upform.html("<div class='message'></div>");
$('.message').html("<h2>FORM SUBMITTED</h2>")
.append("<p>THANKS!!</p>")
.hide()
.fadeIn(1500, function() {
$('.message').append("<img src='http://my-images.com/i/check.png' />");
});
}
});
return false;
});
});
如您所见,提交表单后,将显示消息div而不是提交的表单。
当我仅提交一种表单时,它会完美工作-然后将其更改为我的消息div,但是当我提交第二个表单,下一个表单和下一个表单时-每当我已提交的表单的所有消息刷新时。 看起来不好 我只想对实际提交的表格进行操作。 如何解决?
那么,您可以使用$('.message').html()
来设置每个.message
div的$('.message').html()
。 尝试这个:
upform.find('.message').html(...)
很难看到HTML的外观,但是我想是这样,
$('.message')
应该是这样的,
$('.message', upForm).
首先,您必须找出消息div ( upform.find('。message') ),然后向其中添加任何html。 我认为你的代码应该是
$(function() {
$(".button").click(function() {
var upform = $(this).closest('.upform');
var txt = $(this).prev(".tekst").val();
var dataString = 'tekst='+ txtr;
$.ajax({
type: "POST",
url: "http://url-to-submit.com/upload/baza",
data: dataString,
success: function() {
upform.html("<div class='message'></div>");
upform.find('.message').html("<h2>FORM SUBMITTED</h2>")
.append("<p>THANKS!!</p>")
.hide()
.fadeIn(1500, function() {
upform.find('.message').append("<img src='http://my-images.com/i/check.png' />");
});
}
});
return false;
});
});
另一种无需在当前代码中进行更多编辑的方式,只需添加几行即可。
var msgbox = $("<div class='message'></div>");
upform.html(msgbox);
msgbox.html("<h2>FORM SUBMITTED</h2>")
.append("<p>THANKS!!</p>")
.hide()
.fadeIn(1500, function() {
$(this).append("<img src='http://my-images.com/i/check.png' />");
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.