You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Werner Masik <we...@gefi.at> on 2005/07/06 10:33:36 UTC
switch/case fails when if/then works
Hello!
I have a strange flowscript problem with a switch/case. The code is a
function that should display a list of persons (using a repeater). Every
row of the repeater contains a submit button for editing and deleting.
When a button is pressed the form gets submitted and the next action is
decided by a If/then or a Switch/case that compares the ID of the
submit-widget. The strange behaviour is that when I press the edit
button (with submit-ID=editPerson) the switch/case compare does not seem
to work. The If/then works. Is it possible that switch/case only works
with integer? Or maybe it is just a stupid mistake I don't see now. But
the code is based on http://www.planetcocoon.com/node/1715#comment
So I think it should work. If anybody has an idea, please let me know.
Thanks, werner
Here is my code:
function personenEditor() {
var form = new Form("forms/personenlisteDef.xml");
form.createBinding("forms/personenlisteBinding.xml");
var personDAO = new Packages.com.gefi.ees.persistence.PersonDAO();
form.load(personDAO);
var redisplayForm = true;
while(redisplayForm) {
form.showForm("formPage/personenlisteTemplate");
var submitWidget = form.getWidget().getSubmitWidget();
// Can be null on "normal" submit
var submitId = submitWidget == null ? null : submitWidget.getId();
java.lang.System.out.print("SubmitWidgetID=" + submitId);
var person_id =
submitWidget.getParent().getChild('person_id').getValue();
java.lang.System.out.println("; person_id=" + person_id);
if (submitId=="editPerson") {
// this works
java.lang.System.out.println("if editPerson");
}
switch(submitId) {
case "editPerson":
// does not work
java.lang.System.out.println("switch editPerson");
showEditForm();
break;
case "createPerson":
showCreateForm();
break;
case "deletePerson":
showDeleteForm();
break;
}
}
}
Re: switch/case fails when if/then works
Posted by Werner Masik <we...@gefi.at>.
Ben Pope wrote:
> Werner Masik wrote:
>
>> Hello!
>>
>> I have a strange flowscript problem with a switch/case. The code is
>> a function that should display a list of persons (using a repeater).
>> Every row of the repeater contains a submit button for editing and
>> deleting. When a button is pressed the form gets submitted and the
>> next action is decided by a If/then or a Switch/case that compares
>> the ID of the submit-widget. The strange behaviour is that when I
>> press the edit button (with submit-ID=editPerson) the switch/case
>> compare does not seem to work. The If/then works. Is it possible that
>> switch/case only works with integer? Or maybe it is just a stupid
>> mistake I don't see now. But the code is based on
>> http://www.planetcocoon.com/node/1715#comment
>> So I think it should work. If anybody has an idea, please let me know.
>
>
> I recall reading something about switching on strings... have a look
> here:
>
> http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=111056231409589&w=2
>
> and here:
> http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=110865972811342&w=2
>
This link says it all. Looks like the switch statement only works in 2.2
as expected. I had a lot of headache because of this problem. Thank's
for finding out the links.
Werner
> Ben
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>
Re: switch/case fails when if/then works
Posted by Ben Pope <be...@gmail.com>.
Werner Masik wrote:
> Hello!
>
> I have a strange flowscript problem with a switch/case. The code is a
> function that should display a list of persons (using a repeater). Every
> row of the repeater contains a submit button for editing and deleting.
> When a button is pressed the form gets submitted and the next action is
> decided by a If/then or a Switch/case that compares the ID of the
> submit-widget. The strange behaviour is that when I press the edit
> button (with submit-ID=editPerson) the switch/case compare does not seem
> to work. The If/then works. Is it possible that switch/case only works
> with integer? Or maybe it is just a stupid mistake I don't see now. But
> the code is based on http://www.planetcocoon.com/node/1715#comment
> So I think it should work. If anybody has an idea, please let me know.
I recall reading something about switching on strings... have a look here:
http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=111056231409589&w=2
and here:
http://marc.theaimsgroup.com/?l=xml-cocoon-users&m=110865972811342&w=2
Ben
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org