HTMLから文字列を取得し、それをActionscriptに入れる必要があります。
アクションスクリプト:
import flash.external.ExternalInterface;
protected function getUserName():void{
var isAvailable:Boolean = ExternalInterface.available;
var findUserName:String = "findUserName";
if(isAvailable){
var foundUserName:String = ExternalInterface.call(findUserName).toString();
Alert.show(foundUserName);}}
javascript:
function findUserName() {
var label = document.getElementById("username-label");
if(label.value != ""){
alert("the name in the box is: " + label.value);
return label.value;}
else
return "nothing in the textbox";}}
JSP:
<%IUserSession userSession = SessionManager.getSession();%>
<logic:notEmpty name="userSession">
<logic:notEqual value="anonymous" name="userSession" property="userLoginId">
<td align="right" width="10%" >
<input id="username-label" type="text" value="<bean:write name="userSession" property="userLoginId"/>" />
</td>
</logic:notEqual>
</logic:notEmpty>
レンダリングされたHTML:
<td align="right" width="10%">
<input id="username-label" type="text" value="a-valid-username" />
</td>
javascriptの実行がヒットしたとき
var label = document.getElementById("username-label");
nullが返され、クラッシュします。アラートは表示されず、エラーメッセージは表示されません。「username-label」(document.getElementById())でFirefoxDOMInspectorの検索を正常に実行できます
ポップアップ表示される唯一のアラートボックスはアクションスクリプトアラートボックスであり、内容は空白です。
firfox 3.5ウィンドウ、コンテナはTomcatです。
事前にアドバイス、ありがとうございます。