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 -~----------~----~----~----~------~----~------~--~---