JavaScript - نموذج Onsubmit يعمل ولكن العمل لا
-
13-09-2019 - |
سؤال
في بلدي FORM
, لسبب ما، يمكنني الحصول على متغير الإدخال النموذجي عبر onsubmit
ولكن لا تستخدم action
.
هذا يعمل:
<form onsubmit="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
هذا لا يعمل (this.city.value
وجدت لتكون فارغة)
<form action="javascript:myFunc(this.city.value);">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
هو السبب في أن onsubmit
يمكن الحصول على this.city.value
لكن ال action
لا يستطيع الحدث؟
المحلول
علامة عمل النموذج لا يشير إلى أي شيء مع this
بدلا من ذلك، استخدم موقع مطلق
action="javascript:myFnc(document.getElementById('city-field').value)"
نصائح أخرى
تعديل: بفضل تعليق كريستوف، أدناه، أدركت الرقابة الضخمة. هنا الحل النهائي مع اقتراحه المنفذ.
<form action="" onsubmit="myFunc(this.city.value); return false;">
<p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>
هذا يجب أن يفعل ما تحتاجه. أعتذر عن عدم منحك اهتمامي الكامل في ردودي السابقة.
يتم استخدام نماذج HTML لتقديم البيانات مرة أخرى إلى البرنامج النصي على الخادم لمعالجة البيانات. عند إرسال النموذج، يتم تمرير البيانات الموجودة في حقول النموذج إلى الخادم في شكل أزواج قيمة الاسم. يتم استخدام البرامج النصية من جانب الخادم، والتي يمكن كتابةها في عدة لغات مختلفة، لمعالجة البيانات الواردة وإرجاع صفحة HTML جديدة إلى المتصفح. يمكن أن تكون الصفحة التي تم إرجاعها إلى المتصفح أي شيء من رسالة "شكرا لتسجيل" أو قائمة نتائج البحث التي تم إنشاؤها من استعلام قاعدة البيانات.
نظرا لأن النموذج هو إرسال البيانات إلى ملف آخر على الخادم. في العمل، يمكننا تحديد المسار الذي نحتاج إليه فقط لإرسال البيانات. لذلك لا يمكنك الحصول على القيم التي تواجه النموذج.