2011-06-27 41 views
5

テキスト入力フィールドの値としてスパンを配置することはどういうことですか?テキスト入力フィールド内にスパン?

私はウェブサイト用の郵便料金システムを作っていて、見栄えの良いレシーバ入力フィールドが必要です。追加されたレシーバが含まれ、入力テキストフィールドの値に追加されます。現時点では、スパンコンテナに追加されたレシーバを表示しながら別の「追加フィールド」を使用します。私はこれらのフィールドに一緒にマージしたい。通常の電子メールソフトウェアの入力フィールドと同じです。

ヘルプが大歓迎です!前もって感謝します!

+0

カンマ区切りを代わりに使用できますか?またはあなたの空想的な書式を維持するために、 'textarea'を使用しますか? – Donnie

答えて

9

短い回答:いいえ、<入力/ >に<スパン/ >を含めることはできません。

あなたはいくつかの選択肢があります。電子メールのTo:フィールドのような動作をエミュレートするにはjavascriptを使用できます。例えば。 aキーの後にバックスペースのようなキーの押下を聞き、アクションを処理します。

もう1つの選択肢は、リストをテキストボックスのように表示する(CSSスタイルにする)ことです。最後の<にli/>にクリアされたスタイルのテキストボックスが含まれています。ユーザーが新しいメールを追加するたびに、< li/>をテキストボックスの前に挿入します。

E.G.

HTML:

<ul class="email-textbox"> 
    <li>[email protected];</li> 
    <li>[email protected];</li> 
    <li><input type="text" /></li> 
</ul> 

CSS:

.email-textbox { 
    background-color: #fff; 
    border: 1px solid #ccc; 
    padding: 2px 4px; 
} 

.email-textbox li { 
    display: inline-block; 
    list-style: none; 
    margin-left: 5px; 
} 

.email-textbox input { 
    background: none; 
    border: none; 
} 

javascriptの

$(function() { 
    $('.email-textbox').find('input').focus(); 
}); 

あなたはキー押下ハンドラを含めるには、このJavaScriptを拡張する必要があります(jQueryのは、バニラに変更することができます)それは一般的な考えを与える。

デモ:http://jsfiddle.net/UeTDw/1/

任意のオプションは、しかし、いくつかのjavascriptが必要になります。

あなたはjQueryのを使用することができる場合、あなたはjQuery UI autocomplete

0

通常、入力テキストフィールドは生のテキスト入力を受け入れるために使用されます。テキストフィールド内で入力テキストを折り返しようとすると、ユーザーがタグを操作できる場合に、データを解析する際にユーザーエラーや潜在的な問題が発生する可能性があります。

私はあなたの現在の方法を維持することを提案しますが、AJAXサポートのいくつかのフォームを有効にして、ユーザーをよりダイナミックにし、エラーを起こさないようにします。

それを行うには(私の$ 0.02)

2

一つの方法は、テキスト入力のように見えるようにスタイル設定されたdiv要素の上にテキスト入力を層になります。

<div id="fake-input"> 
    <span class="input-item">John Doe</span> 
    <span class="input-item">Jane Deere</span> 
    <input id="receiver-input" type="text" /> 
</div> 

あなたはレシーバ入力のオフすべてのスタイリングを除去し、テキストフィールドのように見えるように、偽の入力にボーダー、背景色、およびなどを追加することができます。受信者が追加されると、新しい入力項目スパンを作成してリストに追加できます。

0

TextExtjsをチェックアウトすることができ、あなたが望むものと考えられます。これは、オートコンプリートなどのリムーバブルタグをテキストエリアに入れるためのjqueryプラグインです。

hereは、このプラグインを見つけた関連するSOのディスカッションで、Facebookの一部の入力にある類似の動作を模倣しています。

関連する問題