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>
|
<label>Classes:</label>
|
||||||
<div class="tags-input-container" id="classes-container">
|
<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>
|
</div><br><br>
|
||||||
|
|
||||||
<input type="submit" value="Submit">
|
<input type="submit" value="Submit">
|
||||||
|
3
main.go
3
main.go
@ -46,6 +46,9 @@ func handleFormSubmit(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Log all form data
|
||||||
|
log.Printf("[DEBUG] Form data: %v\n", r.Form)
|
||||||
|
|
||||||
name := r.FormValue("name")
|
name := r.FormValue("name")
|
||||||
email := r.FormValue("email")
|
email := r.FormValue("email")
|
||||||
phone := r.FormValue("phone")
|
phone := r.FormValue("phone")
|
||||||
|
@ -41,7 +41,6 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
const tagsInput = document.getElementById('classes-input');
|
const tagsInput = document.getElementById('classes-input');
|
||||||
let classes = [];
|
let classes = [];
|
||||||
|
|
||||||
// Define the addClass function before it's used
|
|
||||||
function addClass(classname) {
|
function addClass(classname) {
|
||||||
const container = document.getElementById('classes-container');
|
const container = document.getElementById('classes-container');
|
||||||
const classElement = document.createElement('span');
|
const classElement = document.createElement('span');
|
||||||
@ -54,74 +53,35 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||||||
closeIcon.addEventListener('click', function () {
|
closeIcon.addEventListener('click', function () {
|
||||||
container.removeChild(classElement);
|
container.removeChild(classElement);
|
||||||
classes = classes.filter(c => c !== classname);
|
classes = classes.filter(c => c !== classname);
|
||||||
fetchMatchingPeople(classes); // Call fetchMatchingPeople when a class is removed
|
|
||||||
});
|
});
|
||||||
|
|
||||||
classElement.appendChild(closeIcon);
|
classElement.appendChild(closeIcon);
|
||||||
container.appendChild(classElement);
|
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) {
|
tagsInput.addEventListener('keydown', function (event) {
|
||||||
if (event.key === 'Enter' || event.key === ',') {
|
if (event.key === 'Enter' || event.key === ',') {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let value = tagsInput.value.trim().replace(/,$/, '');
|
let value = tagsInput.value.trim().replace(/,$/, '');
|
||||||
if (value) {
|
if (value && !classes.includes(value)) { // Check for empty and duplicate values
|
||||||
addClass(value); // Add class tag
|
addClass(value);
|
||||||
classes.push(value); // Add to classes array
|
classes.push(value);
|
||||||
fetchMatchingPeople(classes); // Fetch matching people
|
tagsInput.value = ''; // Clear the input
|
||||||
tagsInput.value = '';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('form').addEventListener('submit', function (event) {
|
document.querySelector('form').addEventListener('submit', function (event) {
|
||||||
console.log('Classes on submit:', classes);
|
|
||||||
const hiddenClassesInput = document.createElement('input');
|
const hiddenClassesInput = document.createElement('input');
|
||||||
hiddenClassesInput.type = 'hidden';
|
hiddenClassesInput.type = 'hidden';
|
||||||
hiddenClassesInput.name = 'classes';
|
hiddenClassesInput.name = 'classes';
|
||||||
|
|
||||||
// Filter out empty class names and trim spaces
|
|
||||||
const cleanedClasses = classes.filter(classname => classname.trim() !== "").map(classname => classname.trim());
|
const cleanedClasses = classes.filter(classname => classname.trim() !== "").map(classname => classname.trim());
|
||||||
hiddenClassesInput.value = cleanedClasses.join(',');
|
hiddenClassesInput.value = cleanedClasses.join(',');
|
||||||
|
|
||||||
|
console.log("Hidden input value being submitted: ", hiddenClassesInput.value); // Log the value
|
||||||
|
|
||||||
this.appendChild(hiddenClassesInput);
|
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