জমা দেওয়ার আগে কীভাবে কিছু করবেন? [বন্ধ]


141

আমার একটি ফর্ম রয়েছে যার একটি বোতাম রয়েছে যা ফর্মটি জমা দেয়। জমা দেওয়ার আগে আমার কিছু করা দরকার। আমি করছেন চেষ্টা onClick যে বাটনে কিন্তু জমা পরে এটি ঘটবে।

আমি কোডটি ভাগ করতে পারি না তবে, সাধারণভাবে, আমি এটি হ্যান্ডল করতে jQuery বা জেএসে কী করব?



2
@ ব্র্যাড ক্রিস্টি যদি কেবল আমি উত্তর হিসাবে মন্তব্য গ্রহণ করতে পারি। ধন্যবাদ খুব সহায়ক।
জিমি

3
স্ট্যাকওভার কোনও প্রশ্ন বন্ধ করলে আমি এটিকে ঘৃণা করি। কোনও ফর্ম জমা দেওয়ার ঠিক আগে নিম্নলিখিত সময়গুলিতে আগুন লাগিয়ে দেওয়া নিম্নলিখিত ইভেন্টগুলি ব্যবহার করে আপনি আপনার ক্রিয়াকলাপ পরিচালনা করতে পারেন: 1- onmouseover 2- onmousemove 3- onmousedown 4- onfocus 5- onmouseup 6- onclick 7- onsubmit
Shadi Namrouti

1
আমি এই প্রশ্নের প্রশংসা করি কারণ আমি সম্প্রতি এই একই সমস্যায় পড়েছিলাম এবং এই প্রশ্নটি আমি যা জানতে চেয়েছিলাম ঠিক সেটাই।
অপচয় সময় 909

2
মজার বিষয় এই প্রশ্নটি বন্ধ হয়ে গেছে কারণ এটি আসল প্রশ্ন নয়: -?
আন্না ক্লেইন

উত্তর:


207

আপনার যদি এমন একটি ফর্ম থাকে:

<form id="myform">
...
</form>

ফর্মটি জমা দেওয়ার আগে আপনি কিছু করতে নীচের jQuery কোডটি ব্যবহার করতে পারেন:

$('#myform').submit(function() {
    // DO STUFF...
    return true; // return false to cancel form action
});

2
জমা দেওয়ার আগে শেষ করতে হবে এমন লুপগুলির জন্য এটি ব্যবহার করতে আমার সমস্যা হচ্ছে। কোনও পরামর্শ?
স্মিলান

দেখতে কোনও কোড পেয়েছেন? নিশ্চিত না যে আমি সমস্যাটি বুঝতে পেরেছি।
ড্যান ব্রেন

3
কেন এটি একটি খালি ফাংশন কলে মোড়ানো? পার্শ্ববর্তী খালি ফাংশন ছাড়া ফাংশনটি submitসরাসরি বাঁধাই করতে সক্ষম হওয়া উচিত নয় $('#form')? সম্পাদনা: দস্তাবেজগুলি আশ্বাস দেয় যে পার্শ্ববর্তী ফাংশন কলটির প্রয়োজন নেই
ekkanal

@eykanal ভাল পয়েন্ট আমি এগিয়ে গিয়েছিলাম এবং এটি মুছে ফেলার সাথে এটি ঠিকঠাক কাজ করে তা নিশ্চিত করার পরে ফাংশন র‌্যাপারটি সরিয়ে উত্তরটি সম্পাদনা করেছি।
জন স্নাইডার

3
@ এয়াকানাল আমি "ফাঁকা" ফাংশন কলটি ব্যবহার করেছি, কারণ এটি jQuery এর $(document).ready()ফাংশনটির জন্য একটি শর্টহ্যান্ড , এটি নিশ্চিত করে যে submitইভেন্টটি সংযুক্ত হওয়ার আগে DOM সম্পূর্ণ হয়ে গেছে । যদি আপনার জেএস পৃষ্ঠার নীচে থাকে তবে এটি প্রয়োজনীয় নয়, তবে এটি যদি <head>বিভাগে থাকে তবে আপনার এটি দরকার। দেখুন: স্ট্যাকওভারফ্লো.com
ড্যান ব্রেন

23

ধরে নিচ্ছি আপনার এইরকম একটি ফর্ম রয়েছে:

<form id="myForm" action="foo.php" method="post">
   <input type="text" value="" />
   <input type="submit" value="submit form" />

</form>

আপনি onsubmitএই জাতীয় jQuery এর সাথে একটি আগমন সংযুক্ত করতে পারেন :

$('#myForm').submit(function() {
  alert('Handler for .submit() called.');
  return false;
});

যদি আপনি return falseফর্মটি ফাংশনটির পরে জমা দেওয়া হয় না, আপনি সত্যটি ফিরিয়ে দেন বা কিছু না হলে এটি যথারীতি জমা দেয়।

দেখুন jQuery এর ডকুমেন্টেশন আরও তথ্যের জন্য।


11

আপনি onclickএই জাতীয় ফর্মটি জমা দেওয়ার আগে কিছু জাভাস্ক্রিপ্ট বা jQuery কোড চালানোর জন্য ব্যবহার করতে পারেন :

<script type="text/javascript">
    beforeSubmit = function(){
        if (1 == 1){
            //your before submit logic
        }        
        $("#formid").submit();            
    }
</script>
<input type="button" value="Click" onclick="beforeSubmit();" />

18
তবে এটি কাজ করে না, যখন ফর্মটিতে একটি ইনপুট ক্ষেত্র রয়েছে যেমন কোনও ব্যবহারকারী রিটার্ন কীটি মারছে যা জমা দেওয়ার ইভেন্টটি ফায়ার করছে। সাধারণত জমা দেওয়ার ইভেন্টের সাথে সরাসরি সংযুক্তি করা ভাল ensure যাতে আপনি নিশ্চিত করতে পারেন যে ব্যবহারকারী কীভাবে জমা দেওয়ার আবেদনটি বরখাস্ত করেছেন নির্বিশেষে called
acme

2
<ইনপুট প্রকার = "জমা দিন" মান = "সাবমিট (); এর আগে" onmouseover = "ক্লিক করুন"; " />
আনসোরি

5

নিশ্চিত করুন যে জমা দেওয়ার বোতামটি "জমা" টাইপের নয়, এটি একটি বোতাম তৈরি করুন। তারপরে কিছু জাভাস্ক্রিপ্ট ট্রিগার করতে অন্লিক ইভেন্টটি ব্যবহার করুন। আপনি আসলে আপনার ডেটা পোস্ট করার আগে আপনি যা খুশি তা করতে পারেন।


3
ফর্মটি বেশ কয়েকটি উপায়ে জমা দেওয়া যেতে পারে, যেমন নির্দিষ্ট ক্ষেত্রগুলিতে প্রবেশ টিপুন। ক্লিক করা যেতে পারে না এমন একটি বোতামে ক্লিক করতে বাধ্য, এটি ভাল ধারণা নয়। অন্যান্য উত্তর দেখান কিভাবে আপনি বাঁধে onsubmitএর ফর্ম , যা কোন ব্যাপার কিভাবে ফর্ম জমা হয় ফায়ার হবে।
জেসন 21
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.