Hi and welcome to qooxdoo.

What you're seeing is simply the difference between an HTML form submit 
and an XMLHTTPRequest. The latter is specifically designed not to 
initiate a page change - that's basically the whole point of it. qooxdoo 
(the Desktop part) is intended for single-page applications where 
typically server responses aren't HTML documents. Instead, they will 
only contain the pure response data, usually in JSON format, and the 
qooxdoo UI is responsible for parsing and displaying it. You would do 
this in the "success" event handler callback. Here you can call 
my_request.getResponseText() to see the server response.


Regards,
Daniel

On 09.12.2013 00:20, Keve Nagy wrote:
>
> Good Evening Everyone,
> I am a beginner with Qooxdoo and I am trying to learn it by converting some 
> of my HTML, JavaScript and CGI work to qx. These are not production 
> applications/pages/forms, nobody uses them, their only purpose is to improve 
> and amuse me.
> While turning one of my old example HTML FORMs into a QX solution I got to a 
> point where the Qooxdoo Documentation (the pdf that comes with QooxDoo) is 
> not enough to explain or help what I am attempting to do. I hope the 
> community can help me through this point with an example or with a pointer to 
> an explanation.
>
> Here is the sample HTML form:
>
> <?xml version="1.0" encoding="utf-8"?>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
> <head>
>       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
>       <title></title>
> </head>
> <body>
>       <br />
>       <form action="http://keve.maclab.org/qx/webformprocess.cgi"; 
> method="POST">
>               Your name:<input name="Name_field" size="20" value="John" /><br 
> />
>               <br />
>               <input type="submit" value="Send data!" />
>       </form>
>       <br />
> </body>
> </html>
>
> Here is the processing CGI script:
>
> #!/usr/pkg/bin/perl
> use strict;
> use POSIX qw(strftime);
> use CGI ':standard';
> use CGI::Carp qw(fatalsToBrowser);
> my $formdata_nameField = param('Name_field');
> unless (defined $formdata_nameField) { $formdata_nameField = 'WAS UNDEFINED'; 
> }
> print "Content-type: text/html\n\n";
> print "<pre>\n";
> print "<p> Form data (Name) = $formdata_nameField .</p>\n";
> print "</pre>\n";
>
> And here is the qooxdoo script I put together:
>
> /*
> #asset(urlap_qx/*)
> */
>
> /**
>   * This is the main application class of your custom application "urlap_qx"
>   */
> qx.Class.define("urlap_qx.Application",
> {
>    extend : qx.application.Standalone,
>
>    /*
>    
> *****************************************************************************
>       MEMBERS
>    
> *****************************************************************************
>    */
>
>    members :
>    {
>      /**
>       * This method contains the initial application code and gets called
>       * during startup of the application
>       *
>       * @lint ignoreDeprecated(alert)
>       */
>      main : function()
>      {
>        // Call super class
>        this.base(arguments);
>
>        // Enable logging in debug variant
>        if (qx.core.Environment.get("qx.debug"))
>        {
>          // support native logging capabilities, e.g. Firebug for Firefox
>          qx.log.appender.Native;
>          // support additional cross-browser console. Press F7 to toggle 
> visibility
>          qx.log.appender.Console;
>        }
>
>        /*
>        
> -------------------------------------------------------------------------
>          Below is your actual application code...
>        
> -------------------------------------------------------------------------
>        */
>
>               // Create a form named "my_form".
>               var my_form = new qx.ui.form.Form();
>               
>               //Basic input field without headline.
>               var Name_field = new qx.ui.form.TextField();
>               my_form.add(Name_field, "Your name");
>               
>               var sendButt = new qx.ui.form.Button("Submit");
>               sendButt.addListener("execute", function() {
>                       if (my_form.validate()) {
>                               //alert("Attempting to POST the Form ...");
>                               var my_controller = new 
> qx.data.controller.Form(null, my_form);
>                               var my_model = my_controller.createModel();
>                               var my_parameters = 
> qx.util.Serializer.toUriParameter(my_model);
>                               var my_request = new 
> qx.io.request.Xhr("http://keve.maclab.org/qx/webformprocess.cgi";);
>                               my_request.setMethod("POST");
>                               my_request.setRequestData(my_parameters);
>                               // listener to give feedback
>                               my_request.addListener("success", function() {
>                                       alert("Worked.");
>                               }, this);
>                               my_request.send();
>                               alert("FormSend complete.");
>                       }
>               }, this);
>               my_form.addButton(sendButt);
>               
>               this.getRoot().add(new qx.ui.form.renderer.Single(my_form), 
> {left: 10, top: 10});
>
>      } // end_main()
>    } // end_members:
> }); // end_qx_class_define
>
> Live versions can be tested as follows:
> http://keve.maclab.org/qx/webform.html   The HTML form.
> http://keve.maclab.org/qx/webformprocess.cgi   The CGI script.
> http://keve.maclab.org/qx/index.html   The qooxdoo "generate.py build" result.
>
> When I use and submit the old HTML form, the output of the CGI script loads 
> into my browser window, displaying the value I entered on the form.
> When I use and submit the qooxdoo form, the "FormSend complete" message shows 
> up, then the "Worked" message shows up, and that is it. Nothing more. The 
> contents of the qx form remain in the browser window, the CGI script does not 
> appear to be loaded and its output does not replace the browser window 
> contents.
>
> Any suggestion on how to get the CGI script called properly is very much 
> appreciated!
>
> Best Regards,
> Keve Nagy * Debrecen * Hungary
>
>
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>

------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to