0

わかりましたので、基本的に私がやろうとしているのは、ユーザーが任意の数の選択肢で必要なものを入力し、ボタンをクリックして、入力したものの1つをランダムに選択できるようにするhtmlドキュメントを作成することです. 私のガールフレンドは本当に優柔不断で、私がいないときに選択をするのに何時間もかかることがあるので、彼女を助けるためのコードを書いてみようと思いました. これについてどうすればよいか正確にはわかりません。私は数時間探し回りましたが、これについては何も見つかりませんでした. 非常に単純なもので申し訳ありませんが、どんな助けでも大歓迎です。これまでのところ、テキストボックスを取得し、ボタンをクリックして新しいボックスを表示するためのコードとしてこれを持っています

`

<html>
<head> 
<script type="text/javascript">
var instance = 1;    
function newTextBox(element)
{               
instance++; 
var newInput = document.createElement("INPUT");
newInput.id = "text" + instance;
newInput.name = "text" + instance;
newInput.type = "text";
//document.body.write("<br>");
document.body.insertBefore(newInput, element);

document.body.insertBefore(document.createElement("br"), element);
            }
</script>
</head>


<body>
<input id="text2" type="text" name="text1"/> <br>
<input type="button" id="btnAdd" value="New text box" onclick="newTextBox(this);" />
</body>
</html>`
4

1 に答える 1

0

私はこれがうまくいくと思います:

HTML:

<input type="button" value="Get Random" onclick="selectRandomInput();"/> <!-- select a random element among [1,instance] elements. -->

JS:

function selectRandomInput(){
    var selectedId=Math.floor(Math.random()*instance+1);
    for(var i=0;i<document.getElementsByTagName("input").length;i++){
        element=document.getElementsByTagName("input")[i];
        if(element.id!=selectedId && element.type!="button")
            element.style.display="none";
    }
}

PS:より良い解決策は、入力テキスト要素にクラスを追加し、すべての入力タグではなく、このクラスを持つ要素を反復処理することです。

于 2013-04-03T00:20:26.167 に答える