【问题标题】:Passing a value to a HTML input text box and displaying it将值传递给 HTML 输入文本框并显示它
【发布时间】:2017-04-07 16:27:03
【问题描述】:

这是我在 StackOverflow 上的第一个问题。抱歉,如果我似乎偏离了规则。

我有两个文本框和一个提交按钮。这个想法是,用户在第一个输入框中输入一个数字,例如 7。第二个输入框是点击提交按钮时显示“七”。第一个文本框的 ID 为“userInput”,而第二个文本框的 ID 为“userOutput”。

作为初步测试,我在 javascript 中有以下代码段,但似乎根本不起作用;

function toTest()
{
    if (document.getElementById("inputUser").value==7) {
        document.getElementById("outputUser").value=="Seven";
    } else {
        window.alert("Functionality not added");
    }
}

我该怎么做?

【问题讨论】:

  • 这样的问题被认为过于宽泛。阅读minimal reproducible example 了解您可以在这里问什么。
  • 欢迎来到 Stack Overflow!请阅读How to Ask。关键词:“搜索和研究”和“解释......任何阻碍你自己解决的困难”。
  • 从广义上讲,你会想要创建一个数组 ["zero","one","two","three"...],然后使用用户的输入作为索引从该数组中提取一个值并将第二个输入的值(secondInput.value = ...)设置为您提取的值。展示你所拥有的,我们可以提供更多帮助。

标签: javascript html


【解决方案1】:

html

FirstBox <input id="first" type="text" name="fname"><br>
SecondBox <input id="second" type="text" name="lname"><br>
<button onclick="givevalue()" type="button">Click Me!</button>

javascript

givevalue = function(){
   console.log("hello")
   var value = document.getElementById('first').value;
   document.getElementById('second').value = value;

}

JS 小提琴

https://jsfiddle.net/64w6yjxv/4/

【讨论】:

    【解决方案2】:

    使用以下代码

    Javascript

    var th = ['', 'thousand', 'million', 'billion', 'trillion'];
    // uncomment this line for English Number System
    // var th = ['','thousand','million', 'milliard','billion'];
    
    var dg = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven',             'eight', 'nine'];
    var tn = ['ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen',     'sixteen', 'seventeen', 'eighteen', 'nineteen'];
    var tw = ['twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
    
    function toWords(s) {
        s = s.toString();
        s = s.replace(/[\, ]/g, '');
        if (s != parseFloat(s)) return 'not a number';
        var x = s.indexOf('.');
        if (x == -1) x = s.length;
        if (x > 15) return 'too big';
        var n = s.split('');
        var str = '';
        var sk = 0;
        for (var i = 0; i < x; i++) {
            if ((x - i) % 3 == 2) {
                if (n[i] == '1') {
                    str += tn[Number(n[i + 1])] + ' ';
                    i++;
                    sk = 1;
                } else if (n[i] != 0) {
                    str += tw[n[i] - 2] + ' ';
                    sk = 1;
                }
            } else if (n[i] != 0) {
                str += dg[n[i]] + ' ';
                if ((x - i) % 3 == 0) str += 'hundred ';
                sk = 1;
            }
            if ((x - i) % 3 == 1) {
                if (sk) str += th[(x - i - 1) / 3] + ' ';
                sk = 0;
            }
        }
        if (x != s.length) {
            var y = s.length;
            str += 'point ';
            for (var i = x + 1; i < y; i++) str += dg[n[i]] + ' ';
        }
        return str.replace(/\s+/g, ' ');
    }
    
    $("#convert").click(function(){
      $("#word").val(toWords($("#number").val())); 
    });
    

    HTML:

    <input type="text" id="number"></br>
    <input type="text" id="word">
    <input type="button" id="convert" value="convert">
    

    这是工作的 jsfiddle:http://jsfiddle.net/nzRje/257/

    【讨论】:

      【解决方案3】:

      仅使用 1 个= 而不是 2 个==。 所以改变:

      document.getElementById("outputUser").value=="Seven";
      

      到这里:

      document.getElementById("outputUser").value="Seven";
      

      2 表示等于,1 表示设置为。 请参阅this page 的“赋值运算符”部分以供参考。 希望这行得通!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-08
        • 1970-01-01
        • 1970-01-01
        • 2018-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-25
        相关资源
        最近更新 更多