জাভাস্ক্রিপ্ট ছাড়াই এইচটিএমএল ফর্ম থেকে একটি অ্যারে পোস্ট করুন


90

আমার একটি ফর্ম রয়েছে যা কিছুটা জটিল এবং আমি আশা করছি যে সার্ভার-সাইড (পিএইচপি) প্রক্রিয়াকরণটি সরল করার জন্য দেশীয়ভাবে টিপলসগুলির একটি অ্যারে পোস্ট করে processing

ফর্মের প্রথম অংশটি একজন ব্যবহারকারীর প্রতিনিধিত্ব করে :

  • নামের প্রথম অংশ
  • নামের শেষাংশ
  • ইমেল
  • ঠিকানা
  • ইত্যাদি

ফর্মের দ্বিতীয় অংশটি একটি বৃক্ষের প্রতিনিধিত্ব করে :

  • ফল
  • উচ্চতা
  • ইত্যাদি

সমস্যাটি হ'ল আমাকে একই ফর্মের একক ব্যবহারকারীর জন্য একাধিক গাছ পোস্ট করতে সক্ষম হতে হবে । আমি গাছগুলির অ্যারের সাথে একক ব্যবহারকারী হিসাবে তথ্যটি প্রেরণ করতে চাই তবে এটি কোনও ফর্মের সাথে করা জটিল। একমাত্র জিনিসটি যা মনে আসে তা হ'ল একটি জাভাস্ক্রিপ্ট ব্যবহার করে কোনও ব্যবহারকারীর অবজেক্ট এবং ট্রি অবজেক্টের একটি অ্যারে দিয়ে কিছু জেএসওএন বার্তা তৈরি করা। তবে বেশি ব্যবহারকারীদের সমর্থন করার জন্য জাভাস্ক্রিপ্ট এড়ানো ভাল হবে (কিছু লোকের স্ক্রিপ্টগুলি বন্ধ আছে)।


4
অ্যারে গ্যারান্টি দেয় কি? আমি গাছের বস্তুর একটি অ্যারে চাই যাগুলির একাধিক ক্ষেত্র থাকবে, সুতরাং এর অর্থ হ'ল একটি বৃক্ষের প্রতিনিধিত্ব করতে আমার একাধিক অ্যারে ব্যবহার করতে হবে এবং অ্যারেগুলি অবশ্যই অর্ডার করতে হবে যাতে তারা কোন বৃক্ষের প্রতিনিধিত্ব করে তা আমি নির্ধারণ করতে পারি।
স্টাইলে

উত্তর:


154

এই এক পরীক্ষা করে দেখুন।

<input type="text" name="firstname">
<input type="text" name="lastname">
<input type="text" name="email">
<input type="text" name="address">

<input type="text" name="tree[tree1][fruit]">
<input type="text" name="tree[tree1][height]">

<input type="text" name="tree[tree2][fruit]">
<input type="text" name="tree[tree2][height]">

<input type="text" name="tree[tree3][fruit]">
<input type="text" name="tree[tree3][height]">

এটি like _POST [] অ্যারে (সহজে ভিজ্যুয়ালাইজেশনের জন্য পিএইচপি ফর্ম্যাট) এ শেষ হওয়া উচিত

$_POST[] = array(
    'firstname'=>'value',
    'lastname'=>'value',
    'email'=>'value',
    'address'=>'value',
    'tree' => array(
        'tree1'=>array(
            'fruit'=>'value',
            'height'=>'value'
        ),
        'tree2'=>array(
            'fruit'=>'value',
            'height'=>'value'
        ),
        'tree3'=>array(
            'fruit'=>'value',
            'height'=>'value'
        )
    )
)

6
অ্যারে ইনডেক্সিংয়ে কোন অক্ষর অনুমোদিত? আমরা কি ব্যবহার করতে পারি?। `@? উদাহরণ: tree[tree 1][fr ui_t] tree[tree.1][fru:it] tree[tree@1][fru,it] _ কী কী নামকরণে কেবল নিরাপদ ডিলিমিটার?
সিআর

4
হবে tree[][fruit]এবং tree[][height]অ্যারে স্বয়ংক্রিয়ভাবে সূচক বৈধ হবে না?
Wobbles

আমি জমা দেওয়া কলব্যাক ব্যবহার করতে জেএসে অ্যারে / অবজেক্ট হিসাবে এই জমা দেওয়া ডেটা কীভাবে পাব ... আমি চেষ্টা করেছি new formData($("form")[0])এবং jQuery $("form").serializeArray()উভয়ই name="tree[tree1][fruit]"স্ট্রিং হিসাবে ফিরে
আসছি

নোট: এটি jQuery ফাংশন সঙ্গে সংগ্রহ ফর্ম তথ্য হিসেবে কাজ করে না .serialize()বা.serializeArray()
SubjectDelta

65

আপনি একই নামের সাথে একাধিক ইনপুট পোস্ট করতে পারেন এবং ইনপুট নামের মতো খালি স্কোয়ার বন্ধনী যুক্ত করে এটিকে একটি অ্যারেতে সংরক্ষণ করতে পারেন:

<input type="text" name="comment[]" value="comment1"/>
<input type="text" name="comment[]" value="comment2"/>
<input type="text" name="comment[]" value="comment3"/>
<input type="text" name="comment[]" value="comment4"/>

যদি আপনি পিএইচপি ব্যবহার করেন:

print_r($_POST['comment']) 

আপনি এটি পাবেন:

Array ( [0] => 'comment1' [1] => 'comment2' [2] => 'comment3' [3] => 'comment4' )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.