一個簡短的問題。我正在使用jQuery.forms.js插件。jQuery:返回「成功」的表單需要重新綁定
我有一個表單發佈到php頁面並用jSon返回數據。
返回的數據是新窗體的代碼(它替換用於發佈信息的窗體)。新的表單沒有綁定到任何jQuery函數,因爲它在頁面加載時不在。
那麼,如何才能獲得ajax表單來識別新表單,這樣如果我需要第二次使用表單,它也是利用jQuery函數呢?
// jQuery for submitting info to php doc and, on success, replacing the form
$(document).ready(function() {
jQuery('form[id*=postOnline]').ajaxForm({
dataType: 'json',
success: function(data) {
$('#onlineStatus' + data.rid).html(data.formed).slideDown('slow');
bindNote();
}
});
});
<!-- /////////////////////// POST ONLINE /////////////////////// -->
<div id='onlineStatus<?php echo $b_id ?>' class='postOnline'>
<form name="postOnline" id="postOnline<?php echo $b_id ?>" action="postOnline.php" method="post">
<input type="hidden" value="<?php echo $b_id ?>" name="b" />
<input type="hidden" value="1" name="p" />
<input type="submit" class="button" value="Post Online" />
</form>
</div>
<!-- /////////////////////// POST ONLINE /////////////////////// -->
// ... code for entering data into database and then...
$result = mysql_query($sql);
if($result) {
if($show == '1'){$val = 'remove from online'; $num='0';}
if($show == '0'){$val = 'show online'; $num='1';}
$return = "
<form name='postOnline' id='postOnline$id' action='postOnline.php' method='post'>
<input type='hidden' value='$b_id' name='b' />
<input type='hidden' value='$num' name='p' />
<input type='submit' class='button' value='$val' />
</form>
";
print json_encode(array("rid" => $id, "formed" => $return));
}
?>
謝謝你的幫助!嗯。這些解決方案都不起作用。在.live文件中,表單根本無法識別jQuery並直接發佈到php頁面。第二個解決方案是在第一個表單上識別jQuery,但不對第二個表單做任何提交。 – superUntitled 2009-02-15 06:37:31