Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Write text inside a div from JavaScript?

I have a JavaScript function that uses document.write() to write to the page. My issue is that when I click the button to call the function, document.write() replaces what I already had with what I am writing. Is there a way to write text to a specific div from JavaScript?

Here is my HTML code:

<html>
<head>
    <link href="style.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="javascript.js">
    </script>
    <script>
        // Calling the Google Maps API
    </script>

    <script>
        <!-- JavaScript to load Google Maps -->
    </script>
</head>

<body>
    <div class="content">
        <div id="googleMap"></div>
        <div id="right_pane_results">hi</div>this -->
        <div id="bottom_pane_options">
            <button onclick="todaydate();">Try It</button>
        </div>
    </div>

</body>

...and my JavaScript code (something I got from the internet just to test):

function todaydate() {
    var today_date = new Date();
    var myyear = today_date.getYear();
    var mymonth = today_date.getMonth() + 1;
    var mytoday = today_date.getDate();

    document.write("<h1>" + myyear + "/" + mymonth + "/"+mytoday + "/h1">);
}

I would like the text to be right below the button. Any help would be appreciated.

Thanks, Josh

like image 965
user3015565 Avatar asked Jan 12 '14 18:01

user3015565


1 Answers

You should avoid document.write. You'd better put your results to another div:

 <div id="bottom_pane_options">
     <button onclick="todaydate();">Try It</button>
     <div id="results"></div>   <!-- Added div ! -->
 </div>

Then

function todaydate() {
    var today_date=new Date();
    var myyear=today_date.getYear();
    var mymonth=today_date.getMonth() + 1;
    var mytoday=today_date.getDate();

    document.getElementById('results').innerHTML ="<h1>" + myyear + "/" + mymonth + "/" + mytoday + "</h1>";
}

As you can see, we're writing the results to the results div with .innerHTML.

Hope this helps. Cheers

like image 167
Edgar Villegas Alvarado Avatar answered Oct 06 '22 02:10

Edgar Villegas Alvarado