thanks for this reply it looks right, i am hand coding my javascript. i would
provide a snippet as to what it looks like maybe u can suggest an alternative -
<xsl:template match=xforms:input>
<xhtml:input name="{(_at_)ref}" id="{generate-id(.)}"/>
</xsl:template>
now let us assume that the above template matches every xforms:input control
and replaces an xhtml input for that with this unique id. but i want to access
this value in the xhtml control from the user form and for that in my
javascript i have to use something like
Questionlist[1][4] = document.getElementById('Marks').value;
now in this above snippet, i am using the ID - Marks which actually isthe id i
have give to an xhtml control but i have some controls whihc are repeating for
example
i have a switch-case in xforms which when generated in a generic way has
problems as i am using div like
<xsl:template match="xforms:switch">
<xsl:for-each select="xforms:case">
<xsl:variable name="caseId" select="@id"/>
<xsl:variable name="disp">
<xsl:choose>
<xsl:when test="@selected ='true()'">visible</xsl:when>
<xsl:otherwise>hidden</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xhtml:div id="{$caseId}" style="LEFT:5px; POSITION:relative;
TOP:5px; VISIBILITY:{$disp}; Z-INDEX:0">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xhtml:div>
</xsl:for-each>
</xsl:template>
the problem is i have cases like
Blank, True or False, Explain, Radiobutton and Checkbox. now depending upon
what hte user has selected his question type to be, i am making that respective
div visible in the javascript like
function toggle(caseType){
var w = document.getElementById(caseType).selectedIndex;
var name =
document.getElementById(caseType).options[w].value;
document.getElementById('Blank').style.visibility="hidden";
document.getElementById('TF').style.visibility="hidden";
document.getElementById('Explain').style.visibility="hidden";
document.getElementById('Radio').style.visibility="hidden";
document.getElementById('Check').style.visibility="hidden";
document.getElementById(name).style.visibility="visible";
}
this is a function being called from a select control
the problem is: i have all the controls rendered and they are just hidden or
visible
now when i say
document.getElementById('Key').value
its returning me only the first value in one of the xhtml control which is
Blank, the rest of all are not returned although that case is not valid. this
is understandable as my code generates the controls in a generic way and my ids
are repeating whcih should not happen. but i see no other way as to how to
solve this problem. my cases are being rendered out of which only one would b
eactive at any point of time and the controls are repeating with teh same name
and id. thus my shift to generate-id() but with that i am not able to access
these controls. please help me
and i do not know how the xsl generated the javascript. i am having lot of
trouble integrating both of them and the values are not exchangable between
both. that is understandable. i do not know how to make use of the value of
avariable in xsl in javascript or vice versa. any help in this regard would be
greatly welcome.
thankyou for your time
with regards,
Prasad Akella
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com schrieb am 17.02.05 11:55:38:
It isn't clear from your question how you are producing your javascript.
If it is being written out by the same XSLT process then generating
correct javascript expression using the generate-id() call is easy, you
just call generate-id again (on the same node).
If you are hand writing the javascript or generating it in a different
process, you don't want to use generate-id for your ids as they are
essentially unpredicatble strings. instead use somethong like
<xsl:attribute name="id">
<xsl:text>id</xsl:text>
<xsl:number level="any"/>
</xs:attribute>
which gives you predicable ids id1, id2, id2, ... which you can then use
from elesewhwere.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--