在将表单添加到已经存在的内容后,我正在尝试获取表单(从回调中以 HTML 表单提供)。添加它不会出现任何问题,并且表单会正确显示。它由带有 id= (placeid + "commentinput") 的回调提供(作为 HTML)并添加到页面中。但是,尝试执行 $(placeid + "commentinput") 不会返回正确的 jQuery 元素(例如,alert(form.tagName) 应该返回 "FORM" 但始终未定义)。
function click_comment1(urlstr, id) { $.ajax({url: urlstr,success: success_on_get_form(urlstr, id)}); }
function success_on_get_form(urlstr, placeid) {
return function (val) {
$("#" + placeid + "newcomment").html(val.replace("comments_body","body"));
$("#pup").html($("#" + placeid + "comments").html());
var form = jQuery("#" + placeid + "commentinput");
var func = submit_comment(urlstr, placeid);
alert(form.id);
form.bind('submit',func);
} }
我已经尝试了我所知道的所有其他形式的选择(基本上是 .children()。我是 jQuery 新手)。我已经无助地以各种形式解决这个问题了 4 个小时。我会很感激任何帮助,谢谢。
<form action="" enctype="multipart/form-data" id="1commentinput" method="post">...</form>
这是回调的返回;中间部分为空间省略。
看到的 #pup 元素是this提供的弹出窗口。
"#" + placeid + "newcomment" 是 "#" + placeid + "comments" 中的一个 div。前两个调用看似正确执行,并根据需要在弹出窗口中呈现回调提供的表单。
所有这些的目的是向此弹出窗口添加一个表单,然后使用该表单进行第二次回调。