如何提交第一个输出产生的第二个AJAX表单

时间:2013-11-06 01:32:47

标签: javascript php jquery ajax json

我正在从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);

      });

    });

2 个答案:

答案 0 :(得分:0)

这应该就像将第二个请求放在第一个请求的成功函数中一样简单。

答案 1 :(得分:0)

使用.on()

由于元素是动态添加的,因此无法将事件直接绑定到它们。因此,您必须使用Event Delegation

$(document).on('submit','#confirmreset',function(event){ ..code here.. }

语法

$( elements ).on( events, selector, data, handler );