最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Take input value and display in another div - Stack Overflow

programmeradmin4浏览0评论

I cant for the life of me figure out why the following is not working. I took if from the W3school example here.

Basically I want to take the value from the input text when it changes and modify another div to include the value. I only want the div to show the new value, but I do want it to change it each time so I figured the onchange was the way to go.

    <!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
var div = document.getElementById('divID');
div.innerHTML = div.innerHTML + x.value;
}
</script>
</head>
<body>

Enter your name: <input type="text" id="fname" onchange="myFunction()">
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p>

<div id="divID"></div>

</body>
</html>

Thanks in advance for all the help on this one.

I cant for the life of me figure out why the following is not working. I took if from the W3school example here.

Basically I want to take the value from the input text when it changes and modify another div to include the value. I only want the div to show the new value, but I do want it to change it each time so I figured the onchange was the way to go.

    <!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
var div = document.getElementById('divID');
div.innerHTML = div.innerHTML + x.value;
}
</script>
</head>
<body>

Enter your name: <input type="text" id="fname" onchange="myFunction()">
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p>

<div id="divID"></div>

</body>
</html>

Thanks in advance for all the help on this one.

Share Improve this question asked Dec 24, 2013 at 2:37 MattSizzleMattSizzle 3,1751 gold badge24 silver badges43 bronze badges 2
  • “When you leave the input field, a function is triggered which transforms the input text to upper case.” Where is the function? – user2680766 Commented Dec 24, 2013 at 2:47
  • Sorry I forgot the piece of code where x.value was defined. Chancho's assumption was right on the money. – MattSizzle Commented Dec 24, 2013 at 3:18
Add a ment  | 

5 Answers 5

Reset to default 6

You have 2 problems, first is that x is undefined. second you should use another trigger for this for this to happen each time.

try this out:

    function myFunction()
    {
        var input = document.getElementById('fname')
        var div = document.getElementById('divID');
        div.innerHTML = div.innerHTML + input.value;
    }

and change your html to:

<input type="text" id="fname" onkeypress="myFunction()">

x is undefined in your function, it should be document.getElementById('fname').

And if you want to change the div each time you press the key, use onkeyup or onkeypress instead of onchange.

You may change x.value to document.getElementById("fname").value, if I understand your question correctly.

<head>
    <script type="text/javascript">
        function input(){
            var input_taker = document.getElementById('email').value;
            document.getElementById('display').innerHTML = input_taker;
        }
    </script>


</head>

<form method="post" action="#">
<input type="text" name="email" placeholder="[email protected]" id="email"  onchange="input()">
<input type="submit" name="save" value="save">

</form>
<div id="display"></div>

Ok, so check this out - http://jsfiddle/2ufnK/2/

The issue is that you need to define x here,

var x = document.getElementById("fname");

x now references to the html object.

Then you can just call the, ".value", method to get its text. Then everything else works the way you've written it.

发布评论

评论列表(0)

  1. 暂无评论