2009-06-22 15 views
1

かなり動的なサイトで作業しています。ユーザーが入力したいものを選択できるようにします。入力の選択肢は、さまざまなタイプの入力(テキスト、パスワードなど)です。これを作成するスタイル/方法はありますか?私は彼らがドロップダウンメニューから選択し、その後、Javascriptが残りを処理すると考えていました。しかし、これに対処するための確立された方法があるはずだと私は思っています。入力タイプを変更する

ありがとうございました。

+0

どのようなタイプの入力を実装しますか? – rahul

+0

@phoenix 私はテキストと入力の両方のタイプのテキストとパスワードだけでなく、テキストエリアも考えていました。 – PF1

答えて

3

Javascriptでは、次のように入力を作成します。あなたはその場で入力を作成したい場合

var input = document.createElement('input'); 
input.type = 'button'; 
... 

だから、あなたは文字列(ボタン、テキストなど)などの入力の種類を示していますドロップダウンを作成することができます。ユーザーがドロップダウン内の文字列を選択した後に続いて、次のようなJavaScript関数に渡します:

その後
function createInput(type) { 
    var input = document.createElement('input'); 
    input.type = type 
    ... 
    return input; 
} 

、あなたはIDとページ上の要素への入力を追加したい場合は、 ' FOO ':

var input = createInput('button'); 
var appendToThis = document.getElementById('foo'); 
appendToThis.appendChild(input); 

あなたがページでid fooでdivタグを持っている想像し、ページ上のdivを開始したい場合:

<div id=foo><input type=text></div> 

そして、ユーザが選択したとき項目、クリアDIVと新しい入力します:

function whenUserChoosesAType(type) { 
    var div = document.getElementById('foo'); 
    rac(div); 
    var input = document.createElement('input'); 
    div.appendChild(input); 
}  

//abbreviated function to clear the contents of a DOM element such as a div 
function rac(elem) { 
    while(elem.hasChildNodes()) elem.removeChild(elem.firstChild); 
} 
+0

私はこれを試してみて、セットアップでうまくいくかどうかを見なければなりませんが、それはすばらしくて、あなたの助けに感謝します! – PF1

+0

私はちょうどコードを実装しようとしましたが、少し問題があります。その問題は、デフォルトの入力フィールドをそこに置いておきたいのですが、ドロップダウンメニューを使うとユーザーはそれを変更することができます。私はこのスクリプトを実行すると、他の入力フィールドを置き換えるいくつかの方法はありますか? – PF1

+0

もちろん、上記の入力を行うのと同じように、JavaScriptを使用してdivを作成するだけです。次に、デフォルト入力を作成してdivに追加します。ユーザーが新しい入力タイプを選択すると、divが空になり、適切なタイプの新しい入力が追加されます。 私は次のようにDIV(または他の要素)をクリアする機能をabbreiavteたい: 関数RAC(OBJ){ 一方(obj.hasChildNodes())obj.removeChild(obj.firstChild)。 } –

0

を私はもともとこのようなあなたの質問に答え:。

<input type="text" id="changingInput"> 
<input type="button" value="Click Here For Example Of Changing" onclick="javascript:document.getElementById('changingInput').type = 'password';"> 

しかし、私がチェックし、それがIE ...またはコースでは動作しませんでした(それSafariで素晴らしい仕事)だから私はここにこの偉大なリンクを見つけたん:

http://www.universalwebservices.net/web-programming-resources/javascript/change-input-element-type-using-javascript

ホープ、このことができます!

+0

リンクをありがとうございます、私はそれをチェックアウトします! – PF1

関連する問題