2011-01-26 7 views
0

これは、Java、PHP、JavaScriptを十分に理解しているので、Flash/ActionScript 3.0プラットフォームに関する知識が不足しているだけです。単純なFlashフォーム、テキストフィールドを引数として使用してURLにリダイレクト

いくつかの調査をした後、コードのためにムービーにレイヤーを追加しました(Flash CS5)。私は右クリックし、 "アクション"を選択し、このコードを記述します。

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」で参照されるフォームフィールドに負荷のデフォルトのテキストを追加します。フォームを送信するとき、ブラウザはqueryFieldの値を追加するURLにリダイレクトする必要があります。

私が言ったように、何が間違っているかを知るためにプラットフォームに関する十分な知識がありません。多分、関数内の参照は、異なるスコープのために利用できないようです。しかし、私が見た別の例では、フォームフィールド参照の範囲も無視されていました。

現在のところ、公開された映画はまったく何もしません。

答えて

0

デフォルト値をTextFieldに設定するには、ENTER_FRAMEイベントを使用する必要はありません。それだけでください:あなたのコードで

var defaultText = "Search..."; 
queryField.text = defaultText; 

TextFieldが継続的にデフォルト値で更新される(ENTER_FRAMEイベントdocumentationを参照してください)。だからこそ何も起こらず、TextFieldはいつもデフォルトのテキストと同じです。

+0

私はちょうど関数外のスコープでそれをやったが、最後のフレームが再生されるたびに値がdefaultTextに戻った。 編集:明確にする:何も起こらず、デフォルトのテキストを設定することさえできません。私が言うように:まったく何もない。 – Jake

+0

MovieClipはメインステージに追加されていますか? – OXMO456

+0

私はそれがもともとではないと思います。しかし、文書全体には1つのレイヤーだけが含まれており、左上隅には「シーン1」としか書かれていません。まだ何も起こっていない。 – Jake

関連する問題