0

我正在加载一个表单作为来自 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);

      });

    });
4

2 回答 2

0

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

于 2013-11-06T01:35:45.967 回答
0

使用.on()

由于元素是动态添加的,因此您不能将事件直接绑定到它们。因此您必须使用事件委托

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

句法

$( elements ).on( events, selector, data, handler );
于 2013-11-06T01:36:06.343 回答