טופס סקר NPS
שאלו עד כמה סביר שהמבקר ימליץ עליכם, מ-0 עד 10, ואז תגובה אופציונלית. שליחה אחת, שני שלבים כש-JavaScript פועל.
משתמשים ב-Tilda? הדביקו בבלוק T123 (מסלול בתשלום) או השתמשו בוובהוק בלי קוד.
מה אתם מעתיקים
תבנית זו שואלת עד כמה סביר שמבקר ימליץ עליכם, בסולם מ-0 עד 10, ואז מציעה תגובה אופציונלית.
זה סקר של המבקרים שלכם. זה אינו דירוג של Formgong, והאתר הזה אינו מפרסם ציון למוצר.
עם JavaScript התגובה נמצאת בשלב השני. הסקריפט מציג את השלב הזה רק אחרי שנבחר מספר.
בלי JavaScript עיצוב קטן בתוך noscript מציג את שני השלבים בבת אחת. המבקר עדיין יכול לשלוח טופס אחד.
יש POST אחד, בסוף. השלב הראשון אינו שולח פנייה חלקית.
השדות ש-Telegram יציג
הציון הוא קבוצת כפתורי רדיו בשם score. Telegram מדפיס score ואז את המספר, מ-0 עד 10.
שדה התגובה נקרא comment. הדוא״ל אופציונלי, בשם email, כדי שתוכלו להשיב כשמישהו משאיר כתובת.
אל תוסיפו קבוצה שנייה בשם score. כפתורי רדיו עם אותו שם הם תשובה אחת.
המלכודת botcheck כלולה, ריקה ומחוץ למסך. מלכודת מלאה היא ספאם ואינה נמסרת.
המקטע הנוסף שולח את אותן תשובות כ-JSON עם fetch, אחרי השלבים. הוא עדיין צריך את מפתח הגישה בטופס.
Turnstile נשאר בתוך הערה עד שתבחרו להפעיל אותו ותדביקו מפתח אתר. YOUR_TURNSTILE_SITE_KEY הוא מציין מקום, לא מפתח עובד.
מה התבנית הזאת אינה טוענת
התבנית אינה מחשבת מדד ממליצים, תרשים או אמת מידה. אתם קוראים את המספרים בתיבה או ב-Telegram.
היא אינה מדרגת לידים, והיא אינה שולחת את התשובות למודל. המספר הוא רק שדה.
התוכנית החינמית שומרת פניות למשך 30 יום ומתירה 300 בחודש. Telegram מיידי. בתוכנית החינמית מגיע דוא״ל על כל פנייה.
האחסון באיחוד האירופי. Formgong הוא המפעיל. כתבו אל support@formgong.com בעניין המוצר.
אם אתם צריכים טופס ענפי ארוך במקום השאלה הדו-שלבית הזאת, השתמשו בתבניות הענפיות במרכז.
תצוגה מקדימה
קוד הטופס
<form id="fg-nps" action="https://formgong.com/submit" method="POST" style="position:relative">
<input type="hidden" name="access_key" value="fk_your_access_key">
<input type="hidden" name="_lang" value="he">
<fieldset data-step="1">
<legend>עד כמה סביר שתמליצו עלינו?</legend>
<p><span>לא סביר</span> <span>סביר מאוד</span></p>
<label><input type="radio" name="score" value="0" required> 0</label>
<label><input type="radio" name="score" value="1" required> 1</label>
<label><input type="radio" name="score" value="2" required> 2</label>
<label><input type="radio" name="score" value="3" required> 3</label>
<label><input type="radio" name="score" value="4" required> 4</label>
<label><input type="radio" name="score" value="5" required> 5</label>
<label><input type="radio" name="score" value="6" required> 6</label>
<label><input type="radio" name="score" value="7" required> 7</label>
<label><input type="radio" name="score" value="8" required> 8</label>
<label><input type="radio" name="score" value="9" required> 9</label>
<label><input type="radio" name="score" value="10" required> 10</label>
<button type="button" data-next>הבא</button>
</fieldset>
<fieldset data-step="2" hidden>
<label>מה כדאי שנדע? <textarea name="comment"></textarea></label>
<label>אימייל <input type="email" name="email" autocomplete="email"></label>
<button type="button" data-back>חזרה</button>
<button type="submit">שליחה</button>
</fieldset>
<div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
<label>השאירו שדה זה ריק <input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
<!--
אופציונלי. הפעילו Turnstile לטופס הזה, הסירו את סימני ההערה והדביקו את מפתח האתר.
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY" data-language="he"></div>
-->
</form>
<noscript><style>[data-step]{display:block}</style></noscript>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var steps = form.querySelectorAll("[data-step]");
function show(index) {
steps.forEach(function (step, i) { step.hidden = i !== index; });
}
var next = form.querySelector("[data-next]");
var back = form.querySelector("[data-back]");
if (next) next.addEventListener("click", function () {
var picked = form.querySelector('input[name="score"]:checked');
if (!picked) return;
show(1);
});
if (back) back.addEventListener("click", function () { show(0); });
})();
</script>אותן תשובות בבקשת fetch אחת של JSON
<form id="fg-nps" action="https://formgong.com/submit" method="POST" style="position:relative">
<input type="hidden" name="access_key" value="fk_your_access_key">
<input type="hidden" name="_lang" value="he">
<fieldset data-step="1">
<legend>עד כמה סביר שתמליצו עלינו?</legend>
<p><span>לא סביר</span> <span>סביר מאוד</span></p>
<label><input type="radio" name="score" value="0" required> 0</label>
<label><input type="radio" name="score" value="1" required> 1</label>
<label><input type="radio" name="score" value="2" required> 2</label>
<label><input type="radio" name="score" value="3" required> 3</label>
<label><input type="radio" name="score" value="4" required> 4</label>
<label><input type="radio" name="score" value="5" required> 5</label>
<label><input type="radio" name="score" value="6" required> 6</label>
<label><input type="radio" name="score" value="7" required> 7</label>
<label><input type="radio" name="score" value="8" required> 8</label>
<label><input type="radio" name="score" value="9" required> 9</label>
<label><input type="radio" name="score" value="10" required> 10</label>
<button type="button" data-next>הבא</button>
</fieldset>
<fieldset data-step="2" hidden>
<label>מה כדאי שנדע? <textarea name="comment"></textarea></label>
<label>אימייל <input type="email" name="email" autocomplete="email"></label>
<button type="button" data-back>חזרה</button>
<button type="submit">שליחה</button>
</fieldset>
<div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
<label>השאירו שדה זה ריק <input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
<!--
אופציונלי. הפעילו Turnstile לטופס הזה, הסירו את סימני ההערה והדביקו את מפתח האתר.
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY" data-language="he"></div>
-->
</form>
<noscript><style>[data-step]{display:block}</style></noscript>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var steps = form.querySelectorAll("[data-step]");
function show(index) {
steps.forEach(function (step, i) { step.hidden = i !== index; });
}
var next = form.querySelector("[data-next]");
var back = form.querySelector("[data-back]");
if (next) next.addEventListener("click", function () {
var picked = form.querySelector('input[name="score"]:checked');
if (!picked) return;
show(1);
});
if (back) back.addEventListener("click", function () { show(0); });
})();
</script>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var status = document.createElement("p");
status.setAttribute("role", "status");
form.appendChild(status);
form.addEventListener("submit", function (event) {
event.preventDefault();
var data = Object.fromEntries(new FormData(form));
fetch("https://formgong.com/submit", {
method: "POST",
headers: { "Content-Type": "application/json", Accept: "application/json" },
body: JSON.stringify(data)
}).then(function (res) { return res.json(); }).then(function (result) {
status.textContent = result && result.success ? (result.message || "נשלח. תודה!") : ((result && result.message) || "השליחה נכשלה. נא לנסות שוב.");
if (result && result.success) form.reset();
}).catch(function () {
status.textContent = "השליחה נכשלה. נא לנסות שוב.";
});
});
})();
</script>שאלות ותשובות
האם 0 הוא הקצה הנמוך?
כן. כפתורי הרדיו רצים מ-0 עד 10. התוויות אומרות איזה קצה נמוך ואיזה קצה גבוה. הערך שנשמר הוא המספר.
אפשר לחייב את התגובה?
אפשר להוסיף את המאפיין required על ה-textarea. התבנית הזאת משאירה אותו אופציונלי כדי שאפשר יהיה לשלוח ציון לבדו.
האם השלב הראשון שומר משהו?
לא. Formgong מקבל פנייה אחת כשהטופס נשלח. מעבר לתגובה אינו שולח.
למה הדוא״ל אופציונלי?
חלק מהאנשים ישתפו ציון בלי כתובת. אם אתם צריכים מסלול לתשובה, אמרו זאת בתווית וסמנו את השדה כנדרש.