chris feldmann [EMAIL PROTECTED] pisze:

> > Here's the "problem": I need to perform a short asynchronous check for
> > a condition in a database before accepting user input from a form, and
> > succeed/fail the form depending on the result of the check. It would be
>  > best to present a "please wait" div with a nice animated gif, then
> > either proceed to the next screen, or fail the form, display a div with
> > an error message, and let the user edit the entered values. What is the
> > best way to do this? I found the AJAX demo in the wiki - assuming that
> > an URL on the server is able to send jsonified objects, would it be
> > enough to call loadJSONdoc on it? What best practice or easiest way to
> > do the above would you suggest?
> >
> > Sorry if I'm asking a FAQ, and thanks for your time,
> >
> 
> 1:12 pm (9 hours ago)
> 
> Although I suppose you've now had an opportunity to read the docs, 

Erm, not exactly. I'm trying to find time for a few projects 
simultaneously _including_ a new version of the system for which 
I need the semi-quick fix, and also, preferably, for washing myself, 
eating and sleeping - this thing cropped up and has to be dealt 
with ASAP, which unfortunately doesn't mean I have adequate time 
resources for dealing with it.

> it
> doesn't sound like you're really asking about mochikit, as opposed to
> the general user experience flow. 

Well, yes, I guess that's right. To tell the truth, I've never liked 
JavaScript and never really trusted it, it's just that I'm planning 
to convert a few internal applications at my office from PHP to 
TurboGears, so naturally I ran into Mochikit, along with a number of 
docs and blog entries supporting the claim that JS doesn't _have_ to 
suck, and I thought about using it to elegantly solve the "problem". 
Actually, the JS code is just the first line of defense, I run the test 
again at server-side, but then it's too late for re-editing the form 
(and saving its contents into session data, redirecting to the form 
and filling them again looks now - once I decided to use JS -  less 
attractive and more work, too).

> You could disable the submit button
> or hide it until the check takes place, I suppose; I'd put a note
> saying why it wasn't there and try to save people from ever noticing
> the form was originally unsubmittable by checking the field in
> question on the onblur event on the field in question so by the time
> they finished the form, the button was enabled. Maybe. Here's a rough
> sketch of the way to do the "hiding the button" version
> 
> <form id="form">
> <input type="text" name="textfield" id="fieldtobechecked"/>
> <input type="submit" id="submit" style="left:-999em;"/>
> </form>
> 
> connect("fieldtobechecked",  "onblur", checkVal);
> 
> checkVal = function(){
>        url="example.com";
>        var req = doSimpleXMLHttpRequest(url, {"val" :
> document.form.textfield.value});
>        req.addCallback(reqReturn);
>        req.addErrback(reqErr);
> }
> 
> reqReturn = function(){
>        if(req.allgood){
>             setElementPosition('submit', {x : 99, y : 99});
>       } else {
>            //notify user
>       }
> }
> 
> reqErr = function(){
>        alert("fixme");
> }
> 
> There are other ways to hide things:
> http://mochikit.com/doc/html/MochiKit/Style.html#element-visibility
> 
> I like this idea less every time I think about it, but I'll toss it out there.

Wow, thanks, I didn't expect a kind od Spanish Inquis^W^W^W^W code
example. I'll give it a try. BTW, won't this "left:-999em" trick create 
a huge horizontal scrolling bar in the document window? Perhaps something 
like 'element.style.visibility = hidden' would be less visible to the user?

-- 
Grzegorz Staniak <gstaniak _at_ gmail [dot] com>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"MochiKit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/mochikit
-~----------~----~----~----~------~----~------~--~---

Reply via email to