Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions assets/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -2051,4 +2051,86 @@ textarea.input-field {
left: 0;
}

}
#blog-section {
width: 50%;
margin: 50px auto;
background-color: white;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}

h2, h3 {
text-align: center;
color: white;

}

.form-group {
margin-bottom: 15px;
}

label {
display: block;
margin-bottom: 5px;
color: #555;
}

input, textarea {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 1rem;
}

button {
display: block;
width: 100%;
padding: 10px;
background-color: #007bff;
color: white;
border: none;
border-radius: 4px;
font-size: 1rem;
cursor: pointer;
}

button:hover {
background-color: #0056b3;
}

.error-message {
color: red;
font-size: 0.875rem;
}

.success-message {
color: green;
text-align: center;
font-size: 1rem;
display: none;
}

#blogList {
margin-top: 20px;
}

.blog-entry {
background: #444444;
padding: 15px;
border-radius: 6px;
margin-bottom: 10px;
color: white;
display: grid;
padding-left: 100px;
}

.blog-entry h4, .blog-entry p {
margin: 0 0 10px;
}
.blogs{
color: white;
background: #444444;
}
67 changes: 67 additions & 0 deletions assets/js/script.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,70 @@
document.getElementById("blogForm").addEventListener("submit", function(event) {
event.preventDefault();

const name = document.getElementById("name").value;
const email = document.getElementById("email").value;
const description = document.getElementById("description").value;

const isValid = validateForm(name, email, description);

if (isValid) {
addBlogEntry(name, email, description);

document.getElementById("successMessage").textContent = "Blog submitted successfully!";
document.getElementById("successMessage").style.display = "block";

document.getElementById("blogForm").reset();

setTimeout(() => {
document.getElementById("successMessage").style.display = "none";
}, 2700);
} else {
alert("Error: Something is wrong!!");
}
});

function validateForm(name, email, description) {
let isCorrect = true;

if (name.trim() === "") {
document.getElementById("nameError").textContent = "Name is required";
isCorrect = false;
}

if (!validateEmail(email)) {
document.getElementById("emailError").textContent = "Please enter a valid email";
isCorrect = false;
}

if (description.trim() === "") {
document.getElementById("descriptionError").textContent = "Description is required";
isCorrect = false;
}

return isCorrect;
}
// adding the entries and appending it in the div...
function addBlogEntry(name, email, description) {
const blogList = document.getElementById("blogList");

const blogEntry = document.createElement("div");
blogEntry.classList.add("blog-entry");


blogEntry.innerHTML = `
<h4>Name:${name} <br>Email:(${email})</h4>
<p>Description: ${description}</p>
`;


blogList.appendChild(blogEntry);
}

function validateEmail(email) {
const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return re.test(email);
}


/**
* PRELOAD
Expand Down
27 changes: 27 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1178,6 +1178,33 @@ <h3 class="card-title title-2 text-center">

</div>
</footer>
<section id="blog-section">
<h2>Submit Your Blog</h2>
<form id="blogForm">
<div class="form-group">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<small class="error-message" id="nameError"></small>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<small class="error-message" id="emailError"></small>
</div>
<div class="form-group">
<label for="description">Blog Description:</label>
<textarea id="description" name="description" rows="5" required></textarea>
<small class="error-message" id="descriptionError"></small>
</div>
<button type="submit">Submit Blog</button>
<p class="success-message" id="successMessage"></p>
</form>
</section>
<div class="blogs">
<h3>Submitted Blogs</h3>
<div id="blogList"></div>
</div>




Expand Down