这看起来很简单,我知道Java,PHP和JavaScript,所以这只是一个对Flash/ActionScript3.0平台缺乏足够了解的问题。
在做了一些研究之后,我在电影中添加了一层代码(Flash CS5)。然后右键单击,选择"Actions“并编写此代码。
addEventListener(Event.ENTER_FRAME, setup);
submitButton.addEventListener(MouseEvent.CLICK, onSubmit);
queryField.addEventListener(MouseEvent.CLICK, onQueryClick);
var defaultText = "Search...";
function setup(){
queryField.text = defaultText;
}
function onSubmit(){
if(queryField.text != defaultText && queryField.text != ""){
navigateToURL(new URLRequest("http://www.somedomain.com/?query=" + queryField.text), "_blank");
}
}
function onQueryClick(){
if(queryField.text == defaultText){
queryField.text = "";
}
}正如您所看到的,我希望在"queryField“引用的表单字段中添加一个默认文本on load,这将清除该字段的焦点。在提交表单时,浏览器应该重定向到附加queryField值的URL。
正如我所说的,我没有足够的平台知识来知道哪里出了问题。尽管函数中的引用可能由于作用域的不同而不可用。但我看到的另一个例子也忽略了表单字段引用的作用域。
现在,已出版的电影什么也做不了。
发布于 2011-01-27 04:58:09
为了将默认值设置为TextField,不需要使用ENTER_FRAME事件。只需这样做:
var defaultText = "Search...";
queryField.text = defaultText;在您的代码中,事件将使用默认值不断更新(请参阅ENTER_FRAME TextField documentation)。这就是为什么什么都没有发生的原因,TextField总是等于默认文本。
https://stackoverflow.com/questions/4808684
复制相似问题