Reputation: 157
I am new to JQuery. I have the following form which takes an address from user and displays a greeting message; also appends a google api photo of location to the body. But nothing happens when I enter input. What am I doing wrong? Thanks for your help.
partial HTML:
<form id="form-container" class="form-container">
<label for="street">Street: </label><input type="text" id="street" value="">
<label for="city">City: </label><input type="text" id="city" value="">
<button id="submit-btn">Submit</button>
</form>
<hr>
<h2 id="greeting" class="greeting">Where do you want to live?</h2>
and JQuery Code:
function loadData() {
var $body = $('body');
var $wikiElem = $('#wikipedia-links');
var $nytHeaderElem = $('#nytimes-header');
var $nytElem = $('#nytimes-articles');
var $greeting = $('#greeting');
// clear out old data before new request
$wikiElem.text("");
$nytElem.text("");
// load streetview
var streetStr = $("#street").val();
var cityStr = $("#city").val();
var address = streetStr + ", " + cityStr;
$greeting.text('So, you want to live at ' + address + '?');
var streetViewUrl = 'http://maps.googleapis.com/maps/api/streetview?size=600x300&location='+ address + '';
$body.append('<img class="bgimg" src="' + streetViewUrl + '" >');
};
$('#form-container').submit(loadData);
Upvotes: 0
Views: 65
Reputation: 1600
You should use event.preventDefault();
to prevent the page from refreshing/reloading when the submit button is clicked.
$('#submit-btn').on("click", function (event) {
event.preventDefault();
var $body = $('body');
var $wikiElem = $('#wikipedia-links');
var $nytHeaderElem = $('#nytimes-header');
var $nytElem = $('#nytimes-articles');
var $greeting = $('#greeting');
// clear out old data before new request
$wikiElem.text("");
$nytElem.text("");
// load streetview
var streetStr = $("#street").val();
var cityStr = $("#city").val();
var address = streetStr + ", " + cityStr;
$greeting.text('So, you want to live at ' + address + '?');
var streetViewUrl = 'https://maps.googleapis.com/maps/api/streetview?size=600x300&location='+ address + '';
$('#img').append('<img class="bgimg" src="' + streetViewUrl + '" >');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form-container" class="form-container">
<label for="street">Street: </label><input type="text" id="street" value="">
<label for="city">City: </label><input type="text" id="city" value="">
<button id="submit-btn">Submit</button>
</form>
<hr>
<h2 id="greeting" class="greeting">Where do you want to live?</h2>
<div id="img"></div>
Upvotes: 2