我正在努力实现一些比我认为的更复杂的事情。
我有多个div(在注释字段中),我正在加载这样的PostComment页面(当然在$(document).ready(function() {})
内:
$('.form-feedback').each(function() {
// load each textarea and then hide them. They should only be visible when a user clicks on the feedback-link.
var commentid = $(this).data('id'); // Uhm... is this correct? Should I use attribute('id').val(); instead? I will check this out later...
$('.form-feedback').load('PostFeedback.aspx?id=' + commentid);
$('.form-feedback').hide();
});
<a href="#" class="show-hide-reply-feedback" id="<%#Eval("id")%>" title="Lämna en synpunkt">Lämna en synpunkt</a>
<div id="form-<%#Eval("id")%>" class="form-feedback">
... the form ...
</div>
这是我自己对如何重用相同的textarea和提交按钮发布独特评论的解释 - 我相信必须有更好的方法来做到这一点,但是现在我尝试了这个。 ;)
无论如何 - 我的问题是,无论何时我点击PostFeedback.aspx上的提交按钮,重定向页面都会加载到div.form-feedback中,因为PostFeedback.aspx所在的位置。结果是......好吧,让我这样说:愚蠢。 :)一切都发布完美 - 它只是没有像我想要的那样呈现。 PostComment.aspx.vb中的重定向如下所示:
Response.Redirect(Utilities.Helpers.ResolveUrl("~/Article.aspx?id=" & Request.QueryString("id"))
那么,如何在该div之外加载重定向的页面,即。作为浏览器中的新页面?
答案 0 :(得分:1)
我真的不知道是什么造就了这个伎俩,但突然间事情开始发挥作用了。事情永远都不会发生所以必须有一些理由让它发挥作用,但无论如何 - 这就是我使用我的javascript的方式,如果其他人需要一些灵感。 :)
$(document).ready(function () {
$('.show-hide-reply-feedback').each(function () {
$(this).removeAttr("href").css("cursor", "pointer");
$(this).click(function () {
var feedbackid = $(this).attr('id');
$('form-feedback').empty(); // the purpose of this is to release any existing page-load from the div to remove all previous entered but unposted comments.
$('#form-' + feebackid).load('PostFeedback.aspx?id=' + feedbackid, function(response, status, xhr) {
var msg = 'Sorry but an error occured: ';
$('#error').html(msg + xhr.status + ' ' + xhr.statusText);
});
});
});
});
<!-- The placeholder for the form fields -->
<a href="#" class="show-hide-reply-feedback" id="b91e45bf-4f3f-4480-a1c8-50d206ba0fb8">lämna en synpunkt</a>
<div id="form-b91e45bf-4f3f-4480-a1c8-50d206ba0fb8" rel="b91e45bf-4f3f-4480-a1c8-50d206ba0fb8" class="form-feedback"></div>