werkt een beetje

alphons <alphons@heijden.com> 15 Sep 2025, 21:47
7bb4fcc31b9b96a07c7d7c774faf32b9a097ae58
4 files changed
  • WebFormBuilder/Controllers/SubmitValueController.cs
  • WebFormBuilder/wwwroot/Default.js
  • WebFormBuilder/wwwroot/WebForm.css
  • WebFormBuilder/wwwroot/WebForm.js
diff --git a/WebFormBuilder/Controllers/SubmitValueController.cs b/WebFormBuilder/Controllers/SubmitValueController.cs
index 5704ff6..76784c2 100644
--- a/WebFormBuilder/Controllers/SubmitValueController.cs
+++ b/WebFormBuilder/Controllers/SubmitValueController.cs
@@ -10,7 +10,7 @@ public class SubmitValueController : ControllerBase
public class Input
{
- public string? formname { get; set; }
+ public string? formname { get; set; }
public string? type { get; set; }
public string? name { get; set; }
public string? val { get; set; }
@@ -21,6 +21,18 @@ public class SubmitValueController : ControllerBase
public IActionResult ChangeValue([FromBody] Input input)
{
Debug.WriteLine($"formname:{input.formname} name:{input.name} type:{input.type} val:{input.val} state:{input.state}");
+
+ if (input.formname == "ExampleForm" && input.name == "Partner")
+ {
+ if (input.val == "Ja")
+ {
+ return Ok(new { action = "show", id = "3" });
+ }
+ else
+ {
+ return Ok(new { action = "hide", id = "3" });
+ }
+ }
return Ok(true);
}
diff --git a/WebFormBuilder/wwwroot/Default.js b/WebFormBuilder/wwwroot/Default.js
index 859e575..9f20980 100644
--- a/WebFormBuilder/wwwroot/Default.js
+++ b/WebFormBuilder/wwwroot/Default.js
@@ -80,6 +80,17 @@ async function handleInputEvent(event)
if (response.ok)
{
const result = await response.json();
+ if (result.action)
+ {
+ const fieldset = document.querySelector('[data-id="' + result.id + '"]');
+ if (fieldset)
+ {
+ if (result.action === "show")
+ fieldset.style.display = "flex";
+ if (result.action === "hide")
+ fieldset.style.display = "";
+ }
+ }
console.log('Success:', result);
}
else
diff --git a/WebFormBuilder/wwwroot/WebForm.css b/WebFormBuilder/wwwroot/WebForm.css
index 817787b..573f72d 100644
--- a/WebFormBuilder/wwwroot/WebForm.css
+++ b/WebFormBuilder/wwwroot/WebForm.css
@@ -31,14 +31,18 @@ body
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
- .form-container form fieldset:not([hidden])
+ .form-container form fieldset
{
border: none;
- display: flex;
flex-direction: column;
gap: 1.5rem;
}
+ .form-container form fieldset:not([hidden])
+ {
+ display: flex;
+ }
+
.form-container label
{
display: block;
diff --git a/WebFormBuilder/wwwroot/WebForm.js b/WebFormBuilder/wwwroot/WebForm.js
index 98145bc..687134c 100644
--- a/WebFormBuilder/wwwroot/WebForm.js
+++ b/WebFormBuilder/wwwroot/WebForm.js
@@ -71,6 +71,7 @@
const fieldsetConfig = formConfig.FieldSets[i];
const legend = document.createElement("legend");
const fieldset = document.createElement("fieldset");
+ fieldset.dataset.id = fieldsetConfig.Id;
if (i > 0)
fieldset.setAttribute("hidden", "hidden");
legend.textContent = fieldsetConfig.Legend ?? `Fieldset ${i + 1}`;