[mochikit] Re: create form in document

2007-07-16 Thread Bob Ippolito

On 7/16/07, MerlinTheCat [EMAIL PROTECTED] wrote:

 Hi, I'm well versed in JS - but I've been struggling to understand
 MochiKit for a couple of days... help from anyone who can clear my
 brainblock would be appreciated. Thanks.

 I'm trying to add a form on the page dynamically. The H1 and [object
 Object] form? gets displayed on the page... but I can't see the form
 or access any of it's fields or submit it???

 Here's my code:


 MochiKit.DOM.withWindow(self.window, MochiKit.Base.bind( function() {

 var doc = MochiKit.DOM.currentDocument();
 MochiKit.DOM.appendChildNodes(doc.body, H1(null,This gets added
 OK));

 var formObj = MochiKit.DOM.FORM({id:myForm,
 action:test01.asp, method:post}, {inputs: [{type:text,
 id:field1, name:field1, value:newval}, {type:submit,
 name:mySubmit, value:mySubmit}]});

 MochiKit.DOM.appendChildNodes(doc.body, formObj);

 alert(doc.body.formObj.field1);  // this indicates undefined?
 alert(doc.formObj.field1);  // this indicates undefined?

 }, this));

That's because the code you wrote doesn't make any sense. {inputs: [
... ]} isn't going to do anything. You need to do the same thing
you're doing with FORM, except with INPUT.

FORM(attrs, INPUT(attrs), INPUT(attrs), ...)

-bob

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



[mochikit] Re: create form in document

2007-07-16 Thread MerlinTheCat

Thanks bob/kieran,

- I used INPUT() and it works ok.
- I'm still sorting out the DOM structures in my head... but it'll
make sense soon.

now I'm sure I already know the answer to this... but I guess I'll ask
the experts:   Is there anyway to side-step the browser security to
enter a form field value in a foreign window/page. ie, copy the DOM or
something?

Cheers :)


On Jul 16, 4:33 pm, Bob Ippolito [EMAIL PROTECTED] wrote:
 On 7/16/07, Kieran O'Neill [EMAIL PROTECTED] wrote:





  On 7/16/07, Bob Ippolito [EMAIL PROTECTED] wrote:

   On 7/16/07, MerlinTheCat [EMAIL PROTECTED] wrote:

Hi, I'm well versed in JS - but I've been struggling to understand
MochiKit for a couple of days... help from anyone who can clear my
brainblock would be appreciated. Thanks.

I'm trying to add a form on the page dynamically. The H1 and [object
Object] form? gets displayed on the page... but I can't see the form
or access any of it's fields or submit it???

Here's my code:

MochiKit.DOM.withWindow(self.window, MochiKit.Base.bind( function() {

var doc = MochiKit.DOM.currentDocument();
MochiKit.DOM.appendChildNodes(doc.body, H1(null,This gets added
OK));

var formObj = MochiKit.DOM.FORM({id:myForm,
action:test01.asp, method:post}, {inputs: [{type:text,
id:field1, name:field1, value:newval}, {type:submit,
name:mySubmit, value:mySubmit}]});

MochiKit.DOM.appendChildNodes(doc.body, formObj);

alert(doc.body.formObj.field1);  // this indicates undefined?
alert(doc.formObj.field1);  // this indicates undefined?

}, this));

   That's because the code you wrote doesn't make any sense. {inputs: [
   ... ]} isn't going to do anything. You need to do the same thing
   you're doing with FORM, except with INPUT.

   FORM(attrs, INPUT(attrs), INPUT(attrs), ...)

   -bob

  You should try getting a DOM inspector. It's extremely useful for
  working out what is and isn't being produced in complex DOM creation
  code.  Firebug has a good one.

  Also, as Bob said, the functions FORM, INPUT, etc work on a
  per-element basis, since they are just partially executed calls to
  createDOM. (eg: FORM == partial(createDOM, FORM) )

  createDOM, and hence all these functions, takes two arguments after
  the DOM element type is specified: the attributes of the element (as a
  dictionary), and the elements to nest within it (as an Array). The
  nested elements need to either be constructed DOM objects, or objects
  that can be coerced into DOM objects, such as strings.

 createDOM takes one attribute argument and every other argument is
 coerced into a child node. You don't need to use an Array, but if you
 do use an one somewhere in the tree it'll get flattened.

 -bob- Hide quoted text -

 - Show quoted text -


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