使用JavaScript从一个文本框到另一个文本框的文本

时间:2014-04-14 12:21:10

标签: javascript c# asp.net-mvc asp.net-mvc-4 textbox

我有一个文本框

 @Html.TextBoxFor(m => m.SingleUnitBarcode, new { @class = "form-control",@id="barcode1", onblur = "CloneData" })

在从此文本框中失去焦点时,我希望其中的文本显示在另一个文本框中(id = customerbarcode_field)

我正在使用javascript

<script>
    function CloneData() { 
        var value = document.getElementById("#barcode1").value

        document.getElementById("#customerbarcode_field").value = value;
    }
</script>

但是,当我从第一个文本框中失去焦点时,该功能未被触发。

我错过了什么?

5 个答案:

答案 0 :(得分:3)

您必须将onblur=CloneData更改为以下内容:

onblur=CloneData()

此外,您必须更改DOM元素的选择。我的意思是您应该更改#方法中的document.getElementById()标记。我们传递了我们想要选择的DOM元素的Id,而没有在#之前添加Id。例如,你应该使用这个

document.getElementById("customerbarcode_field")

这是

的内容
document.getElementById("#customerbarcode_field")

如果您使用的是JQuery,那么您可以将此元素选为:

$('#customerbarcode_field')

答案 1 :(得分:2)

像这样修改TextBox:

@Html.TextBoxFor(m => m.SingleUnitBarcode, 
                new { @class = "form-control",
                      @id="barcode1", 
                      onblur = "CloneData()" })

和这样的脚本,在 javascript 中你将javascript与jquery混合:

<script>
    function CloneData() { 
        var value = document.getElementById("barcode1").value

        document.getElementById("customerbarcode_field").value = value;
    }
</script>

如果您想使用 jquery ,那么:

<script>
        function CloneData() { 
            var value = $("#barcode1").val();

            $("#customerbarcode_field").val(value);
        }
    </script>

答案 2 :(得分:1)

onblur = "CloneData"替换为onblur = "CloneData()",然后从ID

中删除#
function CloneData() { 
    var value = document.getElementById("barcode1").value

    document.getElementById("customerbarcode_field").value = value;
}

答案 3 :(得分:0)

替换

@Html.TextBoxFor(m => m.SingleUnitBarcode, new { @class = "form-control",@id="barcode1", onblur = "CloneData" })

用这个:

@Html.TextBoxFor(m => m.SingleUnitBarcode, new { @class = "form-control",@id="barcode1", onblur = "CloneData();" })

答案 4 :(得分:0)

以这种方式将您的javascript事件放在html中是不好的做法。由于你已经使用了jquery,你可以附加一个监听器,而不会污染你的HTML;

$("body").on('blur', '#barcode1', function(){
     $("#customerbarcode_field").val($(this.val());
});