JavaScript संपर्क फ़ॉर्म जो ईमेल भेजता है

Formgong team ·

JavaScript संपर्क फ़ॉर्म को फिर भी POST के लिए एक पता चाहिए. fetch बुलाएँ, फ़ील्ड भेजें, और JSON जवाब पढ़ें. Formgong वह कॉल आपके सर्वर के बिना लेता है. लाइब्रेरी या API रास्ता ज़रूरी नहीं. मुफ़्त प्लान पर Telegram तुरंत है और ईमेल रोज़ का सार है.

यह JavaScript फ़ॉर्म कॉपी करें

JavaScript
<form id="fg-contact" action="https://formgong.com/submit" method="POST">
  <input type="hidden" name="access_key" value="fk_your_access_key">
  <input type="hidden" name="_lang" value="hi">
  <label>नाम <input type="text" name="name" autocomplete="name" placeholder="आपका नाम" required></label>
  <label>ईमेल <input type="email" name="email" autocomplete="email" placeholder="you@example.com" required></label>
  <label>संदेश <textarea name="message" placeholder="हम आपकी कैसे मदद कर सकते हैं?" required></textarea></label>
  <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>
  <button type="submit">भेजें</button>
  <p role="status"></p>
</form>
<script>
  const form = document.querySelector("#fg-contact");
  const status = form.querySelector("[role=status]");
  form.addEventListener("submit", async (event) => {
    event.preventDefault();
    const button = form.querySelector("button");
    button.disabled = true;
    const fields = Object.fromEntries(new FormData(form));
    try {
      const response = await fetch(form.action, {
        method: "POST",
        headers: { "Content-Type": "application/json", Accept: "application/json" },
        body: JSON.stringify(fields),
      });
      const result = await response.json();
      status.textContent = result.message || (result.success ? "भेज दिया गया। धन्यवाद!" : "भेजा नहीं जा सका। कृपया फिर से कोशिश करें।");
      if (result.success) form.reset();
    } catch {
      status.textContent = "कनेक्शन विफल। कृपया फिर से कोशिश करें।";
    } finally {
      button.disabled = false;
    }
  });
</script>
JSON की जगह FormData भेजें
JSON की जगह FormData भेजें
<script>
  const form = document.querySelector("#fg-contact");
  form.addEventListener("submit", async (event) => {
    event.preventDefault();
    const status = form.querySelector("[role=status]");
    try {
      const response = await fetch("https://formgong.com/submit", {
        method: "POST",
        headers: { Accept: "application/json" },
        body: new FormData(form),
      });
      const result = await response.json();
      status.textContent = result.message || (result.success ? "भेज दिया गया। धन्यवाद!" : "भेजा नहीं जा सका। कृपया फिर से कोशिश करें।");
      if (!result.success) return;
      form.reset();
    } catch {
      status.textContent = "कनेक्शन विफल। कृपया फिर से कोशिश करें।";
    }
  });
</script>
सिर्फ़ fetch कॉल, अगर फ़ॉर्म पहले से पेज पर है
सिर्फ़ fetch कॉल, अगर फ़ॉर्म पहले से पेज पर है
async function onSubmit(event) {
  event.preventDefault();
  const fields = Object.fromEntries(new FormData(event.currentTarget));
  const response = await fetch("https://formgong.com/submit", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Accept: "application/json",
    },
    // _lang: language of Formgong messages and the autoreply (multilingual site: document.documentElement.lang).
    body: JSON.stringify({ _lang: "hi", ...fields, access_key: "fk_your_access_key" }),
  });
  const result = await response.json();
  if (!result.success) throw new Error(result.message || "भेजा नहीं जा सका। कृपया फिर से कोशिश करें।");
  return result.message; // localized "Sent. Thank you!"
}

JavaScript में फ़ॉर्म कैसे काम करते हैं

लोग ऐसा JavaScript संपर्क फ़ॉर्म खोजते हैं जो ईमेल भेजे, fetch फ़ॉर्म नहीं. fetch सिर्फ़ ब्राउज़र की कॉल है जो POST करती है. EmailJS, Axios या सर्वर रास्ता ज़रूरी नहीं.

Accept हेडर application/json भेजें, नहीं तो सिरा सादे फ़ॉर्म की तरह रीडायरेक्ट देता है. असफल fetch गलती फेंकता है. ठुकराई लीड success को false करके लौटती है, और एक संदेश जिसे आप दिखा सकते हैं.

JavaScript में सेटअप

  1. Formgong में फ़ॉर्म बनाएँ और कुंजी कॉपी करें.
  2. ऊपर का कोड चिपकाएँ. यह फ़ॉर्म और छोटी स्क्रिप्ट है: async और await, JSON, और नेटवर्क गलती के लिए try catch.
  3. जाल फ़ील्ड खाली और स्क्रीन से बाहर रखें. अगर बॉट भरे, लीड स्पैम बनकर रहती है और पहुँचती नहीं.
  4. स्क्रिप्ट अनुरोध के दौरान बटन बंद करती है, फिर जवाब का संदेश दिखाती है. सफलता फ़ॉर्म खाली करती है.
  5. लाइव पेज खोलें और जाँच भेजें. इनबॉक्स देखें, फिर फ़ोन सूचना के लिए Telegram जोड़ें.

JavaScript संपर्क फ़ॉर्म भेजने के रास्ते

विकल्पआप क्या चलाते हैंआपको क्या मिलता है
mailto:सर्वर पर कुछ नहीं. मेल ऐप खुलता है.संदेश तभी जब आगंतुक भेजे. फ़ोन पर यह आसानी से टूटता है.
अपना API रास्ताएक सर्वर, SMTP, और एक रहस्य.ईमेल जिस पर आपका नियंत्रण हो. स्पैम, रुकावट और कोड भी आपके पास रहते हैं.
EmailJSपेज पर उनकी स्क्रिप्ट.उनकी सेवा से ईमेल. इस पंक्ति में कीमत नहीं. उस दिन कीमत दोबारा नहीं देखी गई.
Formspreeकोई नहीं. ब्राउज़र Formspree को भेजता है.ईमेल और डैशबोर्ड. मुफ़्त में महीने के 50 सबमिशन. Personal महीने के 15 डॉलर है.
Formgongकोई नहीं. fetch Formgong को भेजता है.Telegram तुरंत. Free पर ईमेल रोज़ का सार है. महीने में 300 सबमिशन, डेटा EU में.

Formspree की कीमतें 2026-10-06 को formspree.io/plans से हैं. Formgong की सीमाएँ कोड से हैं. EmailJS इस खोज में आता है. उसकी कीमत उस दिन दोबारा नहीं देखी गई. Web3Forms.com ने HTTP 403 दिया, इसलिए वह तालिका में नहीं है.

कंपोनेंट पैकेज: npm install @formgong/core (npm: @formgong/core)

मौजूदा प्रोजेक्ट में जोड़ें: npx formgong init (npm: formgong)

fetch, लाइब्रेरी, या आपका सर्वर?

यह पेज लें जब फ़ॉर्म सादा JavaScript, छोटा विजेट, या विंडो हो. आगंतुक पेज पर रहता है.

सादा HTML लें जब JavaScript बंद हो सकता हो. ऊपर के फ़ॉर्म में action फिर भी है, इसलिए स्क्रिप्ट न चले तब भी चलता है.

अपना सर्वर तभी लिखें जब लीड आपके ऐप का डेटा बदले. EmailJS अपनी स्क्रिप्ट से भेजता है. Formgong एक POST है.

सवाल और जवाब

क्या JavaScript बिना सर्वर फ़ॉर्म ईमेल पर भेजता है?

ब्राउज़र SMTP नहीं बोलता. वह फ़ील्ड POST से फ़ॉर्म बैकएंड को भेज सकता है. वही बैकएंड मेल भेजता है. इस फ़ॉर्म के लिए आप सर्वर नहीं चलाते.

FormData भेजूँ या JSON?

JSON टेक्स्ट फ़ील्ड के लिए ठीक है. FormData तब ठीक है जब फ़ॉर्म पहले से हो और जब फ़ाइल भेजें. दोनों एक ही इनबॉक्स में पहुँचते हैं. FormData पर Content-Type खुद न रखें.

JSON की जगह रीडायरेक्ट क्यों मिलता है?

सादा फ़ॉर्म POST रीडायरेक्ट देता है. JSON के लिए Accept हेडर application/json भेजें. फिर success और संदेश पढ़ें.

गलतियाँ कैसे सँभालूँ?

असफल fetch गलती फेंकता है. वह नेटवर्क की गलती है. ठुकराई लीड JSON देती है जिसमें success false है. वह संदेश दिखाएँ और लिखा हुआ रखें.

क्या EmailJS या दूसरी लाइब्रेरी चाहिए?

नहीं. fetch ब्राउज़र में है. लाइब्रेरी ठीक है अगर आप पहले से चलाते हों. वही फ़ील्ड और वही हेडर भेजें.

मुफ़्त शुरू करें