prototypeJS DOM and AJAX interaction



我有一个概念性的DOM问题-我希望它是有意义的。

我的页面(叫它'Main')有prototypeJS AJAX更新它,我选择一个记录编辑,并调用'页B'(部分)到'Main'页面上的div。

当我点击部分中的表单时,它调用'Main'上的函数-然而,Updater是"应该"更新部分上的div…但它从来没有。我很确定DOM找不到它,因为它被渲染或带入Main…

如何解决这个问题??

主要

<script>
// pulls page B into Main div
function getItem( id ) {
    var url = 'itemDetails.php'; 
    var pars = { id:id };
    var myAjaxOpts = new Ajax.Updater( 'itemDetail', url, {
            method:'post'
            ,parameters:pars
            ,evalScripts:true
        });
}
// post form and expects messages in 2 places (1) the upated div (on page B) and the message div on Main
// Only main showing up
function assignItem( frm ) {
    var url = 'assignItem.php'; 
    var pars = Form.serialize( frm );
    var myAjaxOpts = new Ajax.Updater( 'subMessage', url, {
            method:'post'
            ,parameters:pars
            ,evalScripts:true
            ,onSuccess: function( response ){
                //console.log( 'request ready to be made' );
                $( 'mainMessage' ).update( response );
            }
        });
}
</script>   
<!-- page A - Main -->
<div id="mainMessage"></div>
<ul>
    <li><a onClick="getItem( 1 );">item 1</a></li>
    <li><a onClick="getItem( 2 );">item 2</a></li>
    <li><a onClick="getItem( 3 );">item 3</a></li>
</ul>
<div id="itemDetail"></div>
<!-- end page A -->

页B(部分)

<!-- page B - Partial -->
<div id="subMessage"></div>
<form>
    -- edit record ---
<input type="button" onClick="assignItem( this.form );" ></form>
<!-- end page B -->

BTW -应该注意的是,这是一个"减少"的样本(可能有错别字),我得到的数据如预期的那样,没有AJAX的问题,这只是部分的div似乎不能用于Main上的函数。

Thx

只需更改更新的id。

change this: $( 'mainMessage' ).update( response );

by: $( 'subMessage' ).update( response );

最新更新