私は XForms を試していて、JavaScript を動的に読み込もうとしていますが、それがわかりません。
私は簡単な例を提示しています - これは、javascript をロードする単なる入力フィールドとボタンです:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:ev="http://www.w3.org/2001/xml-events" >
<head>
<title>Hello World in XForms</title>
<xf:model>
<xf:instance xmlns="">
<data>
<firstName/>
</data>
</xf:instance>
</xf:model>
<script type="text/javascript">
var myFunction = function(){
var name = document.getElementById("firstName").value;
alert("Hello " + name + "!");
}
</script>
</head>
<body>
<xf:label>Please enter your first name: </xf:label>
<xf:input ref="firstName" id="firstName">
</xf:input>
<br />
<xf:trigger>
<xf:label>Click me!</xf:label>
<xf:action ev:event="DOMActivate">
<xf:load resource="javascript:myFunction()" />
</xf:action>
</xf:trigger>
</body>
</html>
私のスクリプトでは、入力ボックスから値を取得してから、連結された文字列で警告ボックスを表示しようとしています。現在、「Hello undefined!」と表示されます。
firstName
xf:input
Javascriptから値を取得する方法を知っていますか? 私は XForms でのみそれを行う方法を知っていますが、これは一種の概念実証です。
余談ですが、私は XSLTForms を使用しているため、XForms はクライアント上で実行されます。
もう 1 つのヒントは、XSLTForms が要素を含むxf:input
いくつかのネストされたspan
要素に変換するという事実にあるかもしれませんが<input type="text">
、そのinput
要素には名前または ID がありません。