我正在从AJAX请求中将表单作为json输出加载。
以下PHP形成显示表单的请求的JSON输出:
$this->errors[] = "<form id='confirmreset' name='confirm_reset' action='" . URL .
"login/forgotPassword_action' method='post'><input type='hidden' name='user_email' value='" .
$this->user_email . "'> Email already registered. <input type='submit'
value='Click here for a PIN reminder'></form>";
然后我希望能够将此表单作为AJAX表单提交,但因为它没有加载到DOM中,我的jquery似乎没有引用它。有什么想法吗?
到目前为止,这是代码:
$("#confirmreset").on("submit",function(event){
//disable default click operation
event.preventDefault();
var action_url = $(this).attr("action");
alert_box_register("Resetting password...");
console.log(action_url);
var postData = $(this).serializeArray();
console.log(postData);
$.post(action_url,postData,function(data){
console.log(data);
var obj = $.parseJSON(data);
alert_box_register(obj.message);
});
});
答案 0 :(得分:0)
这应该就像将第二个请求放在第一个请求的成功函数中一样简单。
答案 1 :(得分:0)
使用.on()
由于元素是动态添加的,因此无法将事件直接绑定到它们。因此,您必须使用Event Delegation。
$(document).on('submit','#confirmreset',function(event){ ..code here.. }
语法
$( elements ).on( events, selector, data, handler );