「001.html」「002.html」「003.html」「004.html」の4つの「html」を事前に作りました。
テキスト入力で作成した3つのボックス「s1・s2・s3」とダイナミックテキストで作った「s4」ボックス、それにボタンシンボル「GO」を配置しました。
ボタンシンボル「GO」につぎのようなASを書きました。
on(release){
s4.text=s1.text+s2.text+s3.text;
getURL("○○.html","_top")
}
「s4.text=s1.text+s2.text+s3.text;」で作成したテキストが「001」だった場合には「○○.html」に「001.html」と代入されて、そのURLへジャンプさせたいのですが、うまく代入できません。
array・for などを使うようなんですが、スクリプトの書き方を教えて頂けますでしょうか?
No.2ベストアンサー
- 回答日時:
#1です。
> s1に入力後、「カーソル」が自動的にs2に移動する・・・
> s3に入力後は「カーソル」がシンボル「GO」へ自動的に移動して、
>「ENTER」キーのタッチでジャンプする、
> といったような設定は可能でしょうか?
Flash 的にはできますが,
質問者さまができるかどうかはわかりませんよ。
最初のご質問とはかなりレベルが違います。
いや,変な書き方をしましたが,
スクリプトコード自体は簡単です。
TextField クラス の onChanged ハンドラを使って,
テキストフィールドの入力値の変化を検出し,
そのタイミングで,
Selectionクラスの setFocus メソッドあたりを使ってフォーカスを変えてやれば良いと思います。
ただそれだけのことです。
とりあえずそのスクリプトを書いてみます。
スクリプトの前に,
ボタンにもインスタンス名を付けて置きます。
この例では 「GO_btn」 というインスタンス名を付けたとしておきます。
そして,
「s1」~「s4」 と 「GO_btn」 が存在するフレームに,
次のように書けば出来上がりです。
-----------------------------------
// テキストフィールド s1 の入力値が変わったとき
s1.onChanged = function() {
// もし s1 の入力値が空白以外であれば
if (s1.text != "") {
// s2 にフォーカスをセットする
Selection.setFocus(s2);
}
};
// テキストフィールド s2 の入力値が変わったとき
s2.onChanged = function() {
// もし s2 の入力値が空白以外であれば
if (s2.text != "") {
// s3 にフォーカスをセットする
Selection.setFocus(s3);
}
};
// テキストフィールド s3 の入力値が変わったとき
s3.onChanged = function() {
// もし s3 の入力値が空白以外であれば
if (s3.text != "") {
// ?? テキストフィールド s4 に s1~3 の入力値を足す ??
s4.text = s1.text+s2.text+s3.text;
// GO_btn にフォーカスをセットする
Selection.setFocus(GO_btn);
}
};
------------------------------------
と,ここまでは簡単です。
というか,ここまでは簡単に思えなければ先へは進めないのです。
ここから先をどうすべきか,色々な場合を想定して考えるのが難しいですし,
私は作成しようとしている者ではないのでどうするべきかわかりません。
ここから先, "場合" がたくさんあるのです。
つまりエラー処理です。
一応,1つだけはエラー処理を入れています。
// もし s1 の入力値が空白以外であれば
if (s1.text != "") {…}
このようにして,
空白でない "場合" に限って次のテキストフィールドにフォーカスを与えるようにはしています。
なぜこのようなことをしているかというと,「入力訂正」が入った "場合" を想定しているためです。
--- 例えば ---
最初に 「s1」 に "5" を入れてみたけど,
「s2」 まで入力した段階で,
『やっぱり 「s1」 は "3" に訂正しよう』
と思って,「s1」の "5" を消した "場合"。
この if文を入れておかなければ,
「s1」の "5" を消したとたん 「s2」 にフォーカスが移ってしまいます。
これでは入力しにくいですし,
また人によっては単にこれだけのことを 『バグ』 と呼んで非難します。
それを防ぐためにこの if文 は入れてあります。
作りたいものによって,当然人間の行動も変わります。
思いもよらないような,たくさんの場合の行動を想定して作らないと,
かえってこういう仕組みが邪魔になります。
書かれていらっしゃること自体は,
上に書いたスクリプトでできますから簡単なのですが,
このエラー処理を入れて行く作業は他人ではできませんし難しいと思います。
あと肝腎な,
「s1」~「s3」のうちどれかに値が入力されていないものがあった "場合" はどうするのか。
の処理も入れていません。
大変ご親切にありがとうございました。
私も、先日「5問のうち1問を選択」といった設定を「チェックボタン」で作成してしまい、2問、3問にチェックを入れる利用者に戸惑いを感じて「ラジオボタン」に訂正している最中です。
エラー処理を細かく検討してみます。また、宜しくお願いします。
No.1
- 回答日時:
他は変更なしで,
getURL("○○.html","_top");
↓変更↓
getURL(s4.text + ".html","_top");
とすれば良いのではないでしょうか?
この回答への補足
大変ありがとうございました。スムースにジャンプしてすっきりしています。
ところで上記設定の場合、s1・s2・s3に数字を入力する際に「カーソル」を各々のボックスに手動で移動させなければなりません。
s1に入力後、「カーソル」が自動的にs2に移動する・・・s3に入力後は「カーソル」がシンボル「GO」へ自動的に移動して、「ENTER」キーのタッチでジャンプする、といったような設定は可能でしょうか?
可能なようでしたら、改めてこの設定方法もご教授頂けますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファーストピアスのキャッチが...
-
VBにて、非アクティブでフォー...
-
人体切断マジックの事でお聞き...
-
女子高生です。 ボディタッチが...
-
自作PCにチャレンジ。テーマは...
-
目立つ広告の作り方
-
HTMLページ上に重ねてFlashを表...
-
LINEのステメやプロ画は変える...
-
名古屋の栄と錦は治安悪い?
-
word
-
数式中の文字をCambria Math以...
-
Illustrator CS5 営業の「営」...
-
Adobe Acrobatについて
-
Pages 09 でテキストボックスで...
-
原稿用紙で「」の文が2行以上...
-
イラレでダブルクリックで文字...
-
Videostudioテキストの横スクロ...
-
【aviutl】 画像にテキストを張...
-
エクセルのオートシェイプ内の...
-
シリアル通信について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
googleサーチコンソールでの重...
-
Access2010 SetFocusが当たらない
-
人体切断マジックの事でお聞き...
-
LINEのステメやプロ画は変える...
-
ASP.NET 動的コントロールのフ...
-
VBにて、非アクティブでフォー...
-
VS2013の選択した行に出る白枠...
-
ファーストピアスのキャッチが...
-
JSPで初期カーソル表示する方法
-
TextBoxのカーソルを右端に移す...
-
flashとjavascriptとhtmlの連携...
-
子ウインドウを閉じて 親ウイ...
-
vb.netでフォーカスされている...
-
Gmailでテキストをコピペすると...
-
Flashメニューからフレーム内へ...
-
Canvasのメモリーリーク疑いに...
-
ユーザーがクリックするまでフ...
-
ハイタッチの、手の向きや求め...
-
自動的に前画面に戻る
-
波紋のようなエフェクトを発生...
おすすめ情報