2.8.2 ウェブレットのプロパティ用のインラインJavaScriptをフォーマットする方法

JavaScript値が有効、つまり予想された値である場合のウェブレット・プロパティは、単一引用符でくくられた、インラインJavaScriptを受け取ることができます。JavaScriptのフォーマットはユーザー自身の責任で行います。

全てのインラインJavaScriptはセミコロン(;)で終わらせる必要があります。例えば、'alert("hello world");'のようになります。JavaScriptを単一引用符で囲まなくてはいけないため(これはバックグラウンドで行われます)、プログラム中で単一引用符を使用できません。使用する必要がある場合は、外部のJavaScriptファイルの中にファンクションを作成し、インライン・コードからこれを呼び出すという方法があります。

JavaScriptを必要とするプロパティの多くは、イベントに応じて実行されるか、何らかのアクションを実行するために先行して実行されます。例えば、std_buttonウェブレットのpresubmit_jsプロパティは、フォームがサーバーに送られる直前に実行されます。これにより、いくつかプロセスを追加したり、イベント/アクションをキャンセルすることができます。イベント/アクションをキャンセルするには、"return false;"を使用します。

例えば次のようになります。

if ( confirmWithUser() == false) return false;

(confirmWithUserは外部のJavaScriptファイルに定義されたファンクションです。)

JavaScript 注意事項:

1:インラインJavaScriptでreturnやreturn trueを使用しないでください。これはLANSAのJavaScriptの実行を停止するというreturn falseと同様の効果がありますが、ブラウザが省略値のイベント処理を実行するのは停止しません。これにより、予期せぬ動作が引き起こされる可能性があります。

2:{ および } の文字は、XSLT内で特別な意味があり、JavaScriptプロパティでは使用できません。使用すると、奇妙な動作を引き起こします。この文字を必要とする複雑なJavaScriptを書く必要がある場合は、JavaScriptファンクションを別途作成し、プロパティからこれを呼び出すようにしてください。

3:以前のバージョンのドキュメントでは、JavaScriptをダブル・バックスラッシュ(//)で終わらせて、省略値の処理をキャンセルするよう説明されていました。このテクニックはreturnを使用するのと同じ効果があり、使用すべきではありません。