Assigning value of one text box to another

2020-07-13 07:44发布

问题:

Have looked at the answers to similar questions to this, but for the life of me, I can't figure out what I'm doing wrong.

I have a two text boxes and a button. When text is added to the first textbox and the button pressed, I want to apply the first textbox's value/text to the second textbox:

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script>
        $("#button").click(function() {
            var contents = $("#textbox").val();
            $("#container").val(contents);
        });
    </script>
</head>
<body>
    <input type="text" id="textbox" /> <input type="submit" id="button" value="Press This" />
    <br />
    <input type="text" id="container" />
</body>
</html>

回答1:

You're not waiting for the DOM to become ready. You should write something like:

$(document).ready(function() {
    $("#button").click(function() {
        var contents = $("#textbox").val();
        $("#container").val(contents);
    });
});


回答2:

Your code looks good. Just add it to the $(document).ready(...) event handler like this:

$(document).ready(function() {
    $("#button").click(function() {
        var contents = $("#textbox").val();
        $("#container").val(contents);
    });
});

You could also simplify your code a bit:

$(document).ready(function() {
    $("#button").click(function() {
        $("#container").val($("#textbox").val());
    });
});

Take a look at the .ready() docs.



回答3:

You should wait for all elements with document.ready event, and you can simplify your jquery:

$(document).ready(function() {
    $("#button").click(function() {
        $("#container").val($("#textbox").val());
    });
});