Stash to switch pcs again

This commit is contained in:
illyum 2024-09-05 21:46:32 -06:00
parent 9cee572955
commit 0a6dce64ec
7 changed files with 43 additions and 49 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

9
.idea/FormMaker.iml generated Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/FormMaker.iml" filepath="$PROJECT_DIR$/.idea/FormMaker.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -27,7 +27,7 @@
<label>Classes:</label>
<div class="tags-input-container" id="classes-container">
<input type="text" id="classes-input" name="classes" placeholder="Enter classes" />
<input type="text" id="classes-input" placeholder="Enter classes" />
</div><br><br>
<input type="submit" value="Submit">

View File

@ -46,6 +46,9 @@ func handleFormSubmit(w http.ResponseWriter, r *http.Request) {
return
}
// Log all form data
log.Printf("[DEBUG] Form data: %v\n", r.Form)
name := r.FormValue("name")
email := r.FormValue("email")
phone := r.FormValue("phone")

View File

@ -41,7 +41,6 @@ document.addEventListener('DOMContentLoaded', function () {
const tagsInput = document.getElementById('classes-input');
let classes = [];
// Define the addClass function before it's used
function addClass(classname) {
const container = document.getElementById('classes-container');
const classElement = document.createElement('span');
@ -54,74 +53,35 @@ document.addEventListener('DOMContentLoaded', function () {
closeIcon.addEventListener('click', function () {
container.removeChild(classElement);
classes = classes.filter(c => c !== classname);
fetchMatchingPeople(classes); // Call fetchMatchingPeople when a class is removed
});
classElement.appendChild(closeIcon);
container.appendChild(classElement);
}
// Define the fetchMatchingPeople function before it's used
function fetchMatchingPeople(classes) {
const xhr = new XMLHttpRequest();
xhr.open("POST", "/fetch-matches", true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.onload = function () {
if (xhr.status === 200) {
const matchesContainer = document.getElementById('matches-container');
const people = JSON.parse(xhr.responseText);
matchesContainer.innerHTML = '';
// Log the response to see if "people" is populated
console.log("Fetched people: ", people);
if (people && people.length > 0) {
people.forEach(person => {
const personDiv = document.createElement('div');
personDiv.classList.add('person');
personDiv.innerHTML = `<strong>${person.name}</strong><br>Classes: ${person.classes.join(', ')}<br>Email: ${person.email || 'N/A'}`;
matchesContainer.appendChild(personDiv);
});
} else {
matchesContainer.innerHTML = '<p>No matches found for these classes.</p>';
}
} else {
console.error("Error fetching matches:", xhr.status, xhr.responseText);
}
};
xhr.onerror = function () {
console.error("Network error while fetching matches.");
};
xhr.send(JSON.stringify({ classes: classes }));
}
tagsInput.addEventListener('keydown', function (event) {
if (event.key === 'Enter' || event.key === ',') {
event.preventDefault();
let value = tagsInput.value.trim().replace(/,$/, '');
if (value) {
addClass(value); // Add class tag
classes.push(value); // Add to classes array
fetchMatchingPeople(classes); // Fetch matching people
tagsInput.value = '';
if (value && !classes.includes(value)) { // Check for empty and duplicate values
addClass(value);
classes.push(value);
tagsInput.value = ''; // Clear the input
}
}
});
document.querySelector('form').addEventListener('submit', function (event) {
console.log('Classes on submit:', classes);
const hiddenClassesInput = document.createElement('input');
hiddenClassesInput.type = 'hidden';
hiddenClassesInput.name = 'classes';
// Filter out empty class names and trim spaces
const cleanedClasses = classes.filter(classname => classname.trim() !== "").map(classname => classname.trim());
hiddenClassesInput.value = cleanedClasses.join(',');
console.log("Hidden input value being submitted: ", hiddenClassesInput.value); // Log the value
this.appendChild(hiddenClassesInput);
console.log("Form data before submission: ", new FormData(this)); // Log the form data
});
});