jquery নির্দিষ্ট ফর্ম থেকে সমস্ত ইনপুট পান


84

নির্দিষ্ট ফর্ম থেকে সমস্ত ইনপুট পপুলেট করার কোনও উপায় আছে কি? যাক, এই জাতীয় কিছু:

<form id="unique00">
  <input type="text" name="whatever" id="whatever" value="whatever" />
  <div>
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
    <input type="submit" value="qweqsac" />
  </td></tr></table>
</form>
<form id="unique01">
  <div>
    <input type="text" name="whatever" id="whatever" value="whatever" />
    <input type="checkbox" name="whatever" id="whatever" value="whatever" />
  </div>
  <table><tr><td>
    <input type="hidden" name="whatever" id="whatever" value="whatever" />
  </td></tr></table>
  <select>blah...</select>
  <input type="submit" value="qweqsac" />
</form>
etc forms... forms...

* দ্রষ্টব্য: প্রতিটি ফর্মের আলাদা আলাদা পরিমাণের ইনপুট এবং টাইপ এবং পৃথক এইচটিএমএল কাঠামো থাকতে পারে

সুতরাং নির্দিষ্ট ফর্ম আইডি থেকে ইনপুট পপুলেশন করার কোনও উপায় আছে কি? উদাহরণস্বরূপ, যদি আমি নির্দিষ্ট ফর্ম আইডি থেকে জমা বোতামটি ক্লিক করি, তবে jquery আমার জন্য সেই ফর্ম আইডির মধ্যে সমস্ত ইনপুট তৈরি করবে। বর্তমানে আমি যা করছি তা হ'ল:

$("form").submit(function(){ return validateForm($(this)) });
function validateForm(form){
var retVal = true;
var re;
$.each(form.serializeArray(), function(i, field) {
  var input = $('input[name='+field.name+']');
  field.value = $.trim(field.value);
  switch(field.name){
    case "name" :
        and another cases...
      }
    })
 }

এটি ছিল কাজ, তবে সেই ক্ষেত্রে আমি কেবল ফিল্ডের নাম এবং ফিল্ড.ভ্যালু পেয়েছি এবং আসলে আমি যা চাই তা চাই, প্রতিটি ইনপুট উপাদানটির জন্য আমি একটি জেকারি অবজেক্ট চাই, তাই আমি তাদের সিএসএস, আইডি, নাম এবং এমনকি এই ইনপুট উপাদান অ্যানিমেট

এই জন্য কোন উপায় আছে?

আমাকে জানাবেন এবং আগাম ধন্যবাদ! এবং

উত্তর:


180

কোনও ফর্মের সমস্ত ইনপুটগুলি পুনরাবৃত্তি করতে আপনি এটি করতে পারেন:

$("form#formID :input").each(function(){
 var input = $(this); // This is the jquery object of the input, do what you will
});

এটি jquery ব্যবহার করে : ইনপুট নির্বাচক সমস্ত ধরণের ইনপুট পেতে, যদি আপনি কেবল পাঠ্য চান তবে আপনি করতে পারেন:

$("form#formID input[type=text]")//...

ইত্যাদি


4
আমি মনে করি: ইনপুট এতে কাজ করে তবে অন্যথায় আপনি করতে পারেন:$("form#formID input[type=text],form#formID select")
টিজেবি

উপরে আপনার প্রথম উত্তরে নোট টাইপ করুন। $ ("থেকে হওয়া উচিত $ (" ফর্ম
মিচ

4
$("form#formID :input").eachআউটপুট inputটাইপ, selectটাইপ এবং এমনকি buttonইনপুট টাইপ। কমপক্ষে এটি আমার কোডে করে।
তারকাস

4
@TARKUS inputবনাম :input। $ (": ইনপুট") সমস্ত jQuery ফর্ম উপাদান নির্বাচন করে। "(" ইনপুট ") কেবল ইনপুট ট্যাগ নির্বাচন করে।
জনাথন এলমোর

25

নীচের কোডটি ফর্ম আইডি সহ নির্দিষ্ট ফর্ম থেকে উপাদানগুলির বিশদ পেতে সহায়তা করে,

$('#formId input, #formId select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

নীচের কোডটি লোডিং পৃষ্ঠাতে থাকা সমস্ত ফর্ম থেকে উপাদানগুলির বিশদ পেতে সহায়তা করে,

$('form input, form select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

নীচের কোডটি উপাদানটির ট্যাগের ভিতরে না থাকা সত্ত্বেও লোডিং পৃষ্ঠাতে থাকা উপাদানগুলির বিশদ পেতে সহায়তা করে,

$('input, select').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

দ্রষ্টব্য: অবজেক্ট তালিকায় আমাদের যা দরকার তা আমরা আরও নীচের মত ট্যাগের নাম যুক্ত করি,

Example: to get name of attribute "textarea",

$('input, select, textarea').each(
    function(index){  
        var input = $(this);
        alert('Type: ' + input.attr('type') + 'Name: ' + input.attr('name') + 'Value: ' + input.val());
    }
);

4
আমি এই ইনপুটটি ব্যবহার করে পাঠ্যের মান পাচ্ছি না val () .. আপনি কি আমাকে এতে সহায়তা করতে পারেন?
ধাওয়ালঠাকোর

আমার খারাপ। সোরি আমি আউটপুট জন্য ভুল জায়গা তাকিয়ে ছিল।
ধাওয়ালঠাকোর

3

এইচটিএমএল ফর্ম "উপাদান" বৈশিষ্ট্য ব্যবহার করুন :

$.each($("form").elements, function(){ 
    console.log($(this));
    });

এখন "ইনপুট, টেক্সারিয়া, নির্বাচন করুন ..." ইত্যাদির মতো নাম সরবরাহ করার প্রয়োজন নেই


দোহ! - খুব বেশি তথ্য। ফর্ম তথ্য of ("ফর্ম: ইনপুট") দেখার আরও চটজলদি চেষ্টা করুন each );});
জুলস বার্তো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.