Stash to switch pcs again
This commit is contained in:
parent
9cee572955
commit
0a6dce64ec
8
.idea/.gitignore
generated
vendored
Normal file
8
.idea/.gitignore
generated
vendored
Normal 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
9
.idea/FormMaker.iml
generated
Normal 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
8
.idea/modules.xml
generated
Normal 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
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -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">
|
||||
|
3
main.go
3
main.go
@ -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")
|
||||
|
@ -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
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user