- From: Dustin Whitney <dustin.whitney@gmail.com>
- Date: Wed, 17 Jan 2007 15:16:32 -0700
- To: mark.birbeck@x-port.net
- Cc: "Iņaki Salinas Bueno" <inksalinas@gmail.com>, www-forms <www-forms@w3.org>
- Message-ID: <23def8000701171416o4265df4bw15e78f65b67b535f@mail.gmail.com>
Mark, What I was trying to accomplish when doing this was to take the xhtml generated by FCKeditor and put it into my model. I have not really seen a nice way of editing mixed content with XForms. I have posted to this list on a couple of occasions asking anyone for a way to bind a regular <xhtml:textarea> to part of an instance document, or, even better, bind the FCKeditor to <xforms:textarea>, but I haven't gotten much response, and documentation on XForms is a bit sparse. Have you got any suggestions besides using javascript? And is there a more active XForms mailing list anyone knows of? -Dustin On 1/17/07, Mark Birbeck <mark.birbeck@x-port.net> wrote: > > Iņaki, > > It's still a big hack though! :) > > In XForms, the load action has absolutely nothing to do with the > executing of JavaScript functions, and I really hope that this > technique doesn't catch on. XForms takes great pains to build nicely > on top of XPath, and the way to achieve what you want is to create an > extension function, and then just write this: > > <xf:setvalue bind="docPKCS7" value="crypto:signText(somenode)" /> > > That way you let the XForms model take care of everything, and you > only need to worry about writing your extension function. > > Obviously, the specifics of adding extension functions will depend on > which XForms processor you are using, but I'm pretty sure that most > can do it now. > > Regards, > > Mark > > On 17/01/07, Iņaki Salinas Bueno <inksalinas@gmail.com> wrote: > > Thanks Dustin!! > > > > Finally it works! I had nonsense problems with the namespaces, but I > have > > seen that it is not necessary to introduce them in the Javascript > > getElementsByTagName function. > > > > Greetings > > Iņaki > > > > > > 2007/1/16, Dustin Whitney < dustin.whitney@gmail.com>: > > > > > > Heh, I was working on the same thing yesterday. Here is a simple > version > > of what I accomplished, and probably what you are looking for. > > > > > > <html > > > xmlns="http://www.w3.org/1999/xhtml " > > > xmlns:xforms=" http://www.w3.org/2002/xforms" > > > xmlns:event="http://www.w3.org/2001/xml-events"> > > > <head> > > > <script language="javascript"> > > > <![CDATA[ > > > function changeMe(){ > > > var model = document.getElementById("myModel"); > > > var instance = model.getInstanceDocument > ("myInstance"); > > > var textElements = instance.getElementsByTagName > ("text"); > > > textElements[0].firstChild.nodeValue = > > 'Changed!'; > > > model.rebuild(); > > > model.refresh(); > > > } > > > ]]> > > > </script> > > > <xforms:model id="myModel"> > > > <xforms:instance id="myInstance"> > > > <text xmlns="">Change Me!</text> > > > </xforms:instance> > > > <xforms:instance id="script"> > > > <script url="javascript:changeMe()"/> > > > </xforms:instance> > > > </xforms:model> > > > </head> > > > <body> > > > <xforms:input ref="/text"/> > > > <xforms:trigger> > > > <xforms:label>Change!</xforms:label> > > > <xforms:load resource="javascript:changeMe()" > > event:event="DOMActivate"/> > > > </xforms:trigger> > > > </body> > > > </html> > > > > > > -Dustin > > > > > > > > > > > > > > > On 1/16/07, Iņaki Salinas Bueno < inksalinas@gmail.com> wrote: > > > > > > > Hello, > > > > > > > > I'm trying to set the value of an xforms control using JavaScript: I > > must use a JavaScript function, and set the result in the form. > > > > > > > > I call the Javascript function following a tip of Nicholase Chase > from > > IBM (using 'load'), and it works. > > > > > > > > I want to use this function: > > > > > > > > document.getElementById('docPKCS7').value = crypto.signText > > (document.getElementById('formulari').innerHTML, "auto"); > > > > > > > > 'docPKCS7' must point to xforms control. The right part of the > equality > > works, but the allocation of the value obtained to the object pointed by > > 'docPKCS7' not. > > > > > > > > This is the code of the xforms control: > > > > <xforms:textarea bind="docPKCS7"> > > > > > > > > I tried this too: > > > > <xforms:textarea > > ref="instance('auxiliars')/aux:ajudes/aux:solicitutPKCS7" > > id="docPKCS7"> > > > > > > > > And, following some advices from this post , I introduce the > xhtml:id > > attribute: > > > > <xforms:textarea > > ref="instance('auxiliars')/aux:ajudes/aux:solicitutPKCS7" > > xhtml:id="docPKCS7"> > > > > > > > > But nothing works. The javascript console don't show any problem or > > warning, except using xhtml:id that appears the following: > > > > Error: document.getElementById("docPKCS7") has no properties > > > > > > > > However, the problem is the allocation of the value in the xforms > > control because using a HTML textarea it works (the value returned by > the > > function appears in the textarea): > > > > <textarea id="docPKCS7" rows="5" cols="50"/> > > > > > > > > Maybe my problem is related to a namespace conflict (like this), but > in > > that case I don't know how to attack it. > > > > > > > > Where is the problem? What other things I can test? > > > > Lot of thanks > > > > > > > > Iņaki > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > Mark Birbeck > CEO > x-port.net Ltd. > > e: Mark.Birbeck@x-port.net > t: +44 (0) 20 7689 9232 > w: http://www.formsPlayer.com/ > b: http://internet-apps.blogspot.com/ > > Download our XForms processor from > http://www.formsPlayer.com/ >
Received on Wednesday, 17 January 2007 22:16:39 UTC