6

フォーム ボタンをクリックして、フォームのテキスト ボックスに入力しようとしています。以下は私がこれまでに持っているコードです - このコードを選択ボックスの例から変更しました -

<!DOCTYPE html>
<html>

<head>
    <script>
        function moveNumbers(){
            var no=document.getElementById("no");
            var txt=document.getElementById("result").value;
            txt=txt + option;
            document.getElementById("result").value=txt;
        }
    </script>
</head>

<body>
    <form>
        Select numbers:<br>
        <input type="button" value="1" name="no" onclick="moveNumbers()"> 
        <input type="button" value="2" name="no" onclick="moveNumbers()"> 
        <input type="button" value="3" name="no" onclick="moveNumbers()"> 

        <input type="text" id="result" size="20">
    </form>
</body>

</html>
4

2 に答える 2

7

ここにはいくつかの欠陥があります。option定義されていないようです。実際にクリックされたボタンを取得する方法はありません。

できることはthis.value、onclick イベント ハンドラーに渡すことです。これは、押したボタンの値を渡し、それを使用してテキストボックスの値に追加します。

<script> function moveNumbers(num) {
    var txt=document.getElementById("result").value;
    txt=txt + num;
    document.getElementById("result").value=txt;
    }
</script>
Select numbers: <br> <input type="button" value="1" name="no" onclick="moveNumbers(this.value)">  
<input type="button" value="2" name="no" onclick="moveNumbers(this.value)">  
<input type="button" value="3" name="no" onclick="moveNumbers(this.value)">  
<input type="text" id="result" size="20">

http://jsfiddle.net/cMN44/

于 2012-12-20T20:06:22.500 に答える
1

ボタンの値をテキスト ボックスに挿入するとします。

<!DOCTYPE html>
<html>

<head>
    <script>
        function moveNumbers(number){
            document.getElementById("result").value=number;
        }
    </script>
</head>

<body>
    <form>
        Select numbers:<br>
        <input type="button" value="1" name="no" onclick="moveNumbers(this.value)"> 
        <input type="button" value="2" name="no" onclick="moveNumbers(this.value)"> 
        <input type="button" value="3" name="no" onclick="moveNumbers(this.value)"> 

        <input type="text" id="result" size="20">
    </form>
</body>

</html>
于 2012-12-20T20:08:49.697 に答える