- ベストアンサー
文字入力変数を他のページでも共用するための方法
- 文字入力変数を他のページでも共用するためには、文字入力目的の関数を外部ファイル化する必要があります。
- また、入力された文字列を確認のために入力窓を消さずに表示する方法としては、変数を使用してエレメントに依存しない方法を利用することができます。
- 以下は具体的なスクリプトの例です。4つの入力欄を設け、入力された文字列を表示する方法を示しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1 ですが、例示が不完全でしたね。 outputId = 入力窓 <div> の属性 id の値 formName = 入力欄を含む <form> の属性 name の値 itemName = 入力欄 <textarea> の属性 name の値 // 例題 <form name="form1"> <textare name="text1"></textarea> <br> <input type="button" onClick="※" value="verify"> </form> <div id="output"></div> <div id="output"> → 'output' <form name="form1"> → 'form1' <textare name="text1"> → 'text1' 埋め込みスクリプト形式にするため、二重引用符を一重に変換しています ※の中身 = textout('output','form1','text1') 複数の入力欄が必要なら、form 内に textarea を追加し、それごとにボタンを増やして itemName だけを text2, text3 と書き換えるのが簡単でしょうか
その他の回答 (1)
- Ogre7077
- ベストアンサー率65% (170/258)
この程度なら外部化しなくても良い気がしますが、 ちゃんと対応するならこうでしょうか // script /** * @param outputId 入力値の表示先要素のID * @param formName 入力元のフォーム名 * @param itemName 入力元の要素名 */ function textout(outputId, formName, itemName) { var tx3 = document.forms[formName].elements[itemName].value; document.getElementById(outputId).textContent = tx3; } // html <form name=form1> <textarea name=text1></textarea> <textarea name=text2></textarea> <div id=output></div> <textarea name=text3></textarea> <textarea name=text4></textarea> <div id=output2></div> <button onclick="textout('output', 'form1', 'text1')"> <button onclick="textout('output', 'form1', 'text2')"> <button onclick="textout('output2','form1', 'text3')"> <button onclick="textout('output2','form1', 'text4')"> </form>
補足
@param の設定の仕方が分からずにつまずいております。 検索をしてみましたが、JAVA関連の解説が少し見つかっただけで、 javascript 初心者のレベルでは 試しに実行してみましたが、入力内容がすべて消えてしまうだけでした。 前半部分で何か追加すべき項目がありましたら お手数ですがご指導いただけますでしょうか。
お礼
おかげさまで ようやく1項目の入力画面を作成することができました。 外部にスクリプトを出したところ、同じ関数が使えなかったため 再度質問をし直すことにしました。 初心者にご親切なご指導をいただき、とても感謝しております。