Ok, I have found a better way to explain this.

var params = $('createAdjForm').serialize();
alert(params);

This does not show the form elements that were included via: <div
id="territories"></div>

Why is that the case?


On Jun 17, 9:06 am, anthony <mrsmi...@gmail.com> wrote:
> Thanks for the cleanup. I have made those changes. Feel free to post
> others. The problem I have is that the form had two dynamic places:
>
> <div id="territories"></div>
> and
> <div id="adjForm"></div>
>
> There is an onChange that calls the javascript function getTerritories
> () allows the
> <div id="territories"></div> to display which has a form element
> called territory. At the end of the same function, it calls the other
> javascript function getAdjForm(). getAdjForm() looks to see if the
> form element territory exists. That's the problem, for some reason, it
> cannot see it. What can I do to make it where it does not fail the if
> statement in that function?
>
> On Jun 16, 11:33 am, Rick Waldron <waldron.r...@gmail.com> wrote:
>
> > A few things...
>
> >  var params = Form.serialize($('createAdjForm'));
>
> > You can clean this up as:
>
> >  var params = $('createAdjForm').serialize();
>
> > There are other points that you could optimize, but thats not your
> > question...
>
> > And at whatever point you want adjForm to appear, you need to add:
>
> > $('adjForm').show()
>
> > Rick
>
> > On Mon, Jun 15, 2009 at 5:46 PM, anthony <mrsmi...@gmail.com> wrote:
>
> > > I have a form that when a user selects something from a drop-down,
> > > another element in the form appears. There is another piece of the
> > > form, that is never showing up, I need to understand what I am doing
> > > wrong and how to fix it:
>
> > > <script type="text/javascript" language="JavaScript">
> > > function getAdjForm() {
>
> > >       var params = Form.serialize($('createAdjForm'));
> > > alert($('territory').value);
>
> > >        if ($('adjType').value !== "" && $('territory').value !== ""){
>
> > >                new Ajax.Updater(
> > >                "adjForm",
> > >                "<?= $this->url(array('controller'=>'index',
> > > 'action'=>'get-adj-
> > > form'))?>",
> > >                {method:'post',
> > >                parameters: params});
> > >        }
> > > }
>
> > > function getTerritories() {
>
> > >        var params = Form.serialize($('createAdjForm'));
> > >        new Ajax.Updater(
> > >        "territories",
> > >        "<?= $this->url(array('controller'=>'index', 'action'=>'get-
> > > territories'))?>",
> > >        {method:'post',
> > >        parameters: params});
>
> > >        if ($('adjType').value !== ""){
> > >                //alert('ddddddddd');
> > >                getAdjForm();
> > >        }
> > > }
>
> > > function getCustomer() {
>
> > >        var params = Form.serialize($('createAdjForm'));
> > >        new Ajax.Updater(
> > >        "customer",
> > >        "<?= $this->url(array('controller'=>'index', 'action'=>'get-
> > > customer'))?>",
> > >        {method:'post',
> > >        parameters: params});
> > > }
>
> > > </script>
>
> > > <form method="POST" id="createAdjForm" action="">
> > > <p>
>
> > > <table border="0" CELLSPACING="10">
> > >        <tr>
> > >                <td>
> > >                        <b>Select Adjustment Type</b>
> > >                </td>
> > >                <td>
> > >                        <?php echo $this->formSelect('adjType',
> > > $this->adjType, array
> > > ("onChange"=>"getAdjForm()"), array(""=>"Select an Adjustment Type") +
> > > $this->adjTypes) ?>
> > >                </td>
> > >        </tr>
> > >        <tr>
> > >                <td>
> > >                        <b>Submitting Territory</b>
> > >                </td>
> > >                <td>
> > >                        <?php echo $this->formSelect('shortTerritory',
> > > $this-
> > > >shortTerritory, array("onChange"=>"getTerritories()"), array
> > > (""=>"Select a Territory") + $this->shortTerritories) ?>
> > >                        <div id="territories"></div>
> > >                </td>
> > >        </tr>
> > >        <tr>
> > >                <td valign="top">
> > >                        <b>Justification</b>
> > >                </td>
> > >                <td>
> > >                        <?php echo
> > > $this->formTextarea('justification',$this-
> > > >justification,array("rows"=>"5","cols"=>"75")) ?>
> > >                </td>
> > >        </tr>
> > > </table>
> > > <hr>
> > > <div id="adjForm">
> > > </div>
>
> > > ***********************************
> > > This issue is that the data that should be here:
> > > <div id="adjForm">
> > > </div>
> > > Is never showing. When getAdjForm(); is called from getTerritories(),
> > > the $('territory').value !== "" seems to be the problem. Does the
> > > browser not know that was an element because it just appeared?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to