Calculator Tools Calculator Tools
Create

Country Information

Dec 19, 2023

About this app

Type a country name and get information about its capital, language, UN status, and population.

Country Information Country Information Enter a country: Get Information

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Country Information</title>
<meta name="description" content="Type a country name and get information about its capital, language, UN status, and population.">
<meta name="keywords" content="country information, capital, language, UN status, population">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
document.addEventListener("DOMContentLoaded", function() {
// Function to handle form submission
function handleSubmit(event) {
event.preventDefault();

// Get the user input
var country = document.getElementById("country-input").value;

// Make API call to get country information
fetch("https://restcountries.com/v3/name/" + country)
.then(response => response.json())
.then(data => {
// Check if country information is available
if (data.length > 0) {
var countryData = data[0];

// Display country information
var countryInfo = document.getElementById("country-info");
countryInfo.innerHTML = "";

var capital = document.createElement("p");
capital.innerHTML = "<strong>Capital:</strong> " + (countryData.capital || "N/A");
countryInfo.appendChild(capital);

var language = document.createElement("p");
language.innerHTML = "<strong>Language:</strong> " + (countryData.languages[0] || "N/A");
countryInfo.appendChild(language);

var unStatus = document.createElement("p");
unStatus.innerHTML = "<strong>UN Status:</strong> " + (countryData.unStatus || "N/A");
countryInfo.appendChild(unStatus);

var population = document.createElement("p");
population.innerHTML = "<strong>Population:</strong> " + (countryData.population || "N/A");
countryInfo.appendChild(population);
} else {
// Display error message if country information is not available
var errorMessage = document.createElement("p");
errorMessage.innerHTML = "Country information not found.";

var countryInfo = document.getElementById("country-info");
countryInfo.innerHTML = "";
countryInfo.appendChild(errorMessage);
}
})
.catch(error => {
// Display error message if API call fails
var errorMessage = document.createElement("p");
errorMessage.innerHTML = "An error occurred while fetching country information.";

var countryInfo = document.getElementById("country-info");
countryInfo.innerHTML = "";
countryInfo.appendChild(errorMessage);
});
}

// Event listener for form submission
var form = document.getElementById("country-form");
form.addEventListener("submit", handleSubmit);
});

} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
/* App CSS Goes Here */
body {
background-color: #f1f1f1;
font-family: 'Roboto', sans-serif;
}

h1 {
text-align: center;
margin-top: 40px;
margin-bottom: 20px;
color: #333;
}

.form-container {
max-width: 500px;
margin: 0 auto;
background-color: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.form-container label {
font-weight: bold;
}

.form-container input[type="text"] {
width: 100%;
padding: 10px;
margin-bottom: 20px;
border-radius: 5px;
border: 1px solid #ccc;
}

.form-container button {
background-color: #333;
color: #fff;
padding: 10px 20px;
border-radius: 5px;
border: none;
cursor: pointer;
}

.country-info {
margin-top: 20px;
padding: 20px;
border-radius: 5px;
background-color: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.country-info p {
margin-bottom: 10px;
}

.error-message {
color: red;
font-weight: bold;
text-align: center;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1>Country Information</h1>

<div class="form-container">
<form id="country-form">
<label for="country-input">Enter a country:</label>
<input type="text" id="country-input" required>
<button type="submit">Get Information</button>
</form>
</div>

<div id="country-info" class="country-info">
<!-- Country information will be displayed here -->
</div>

<p class="error-message" id="error-message"></p>
</div>
</body>
</html>