jQuery - ফ্লাই এ লুকানো ফর্ম উপাদান তৈরি করুন


উত্তর:


613
$('<input>').attr('type','hidden').appendTo('form');

আপনার দ্বিতীয় প্রশ্নের উত্তর দিতে:

$('<input>').attr({
    type: 'hidden',
    id: 'foo',
    name: 'bar'
}).appendTo('form');

56
নোট করুন যে আপনি ইনপুট টাইপটি তৈরির পরে পরিবর্তন করার চেষ্টা করলে আইই শ্বাসরোধ করবে। $('<input type="hidden">').foo(...)একটি workaround হিসাবে ব্যবহার করুন ।
— রায় টিঙ্কার

4
এছাড়াও, jQuery ডকুমেন্টেশন পরামর্শ দেয় যেহেতু DOM ম্যানিপুলেশন ব্যয়বহুল, আপনার যদি যোগ করার জন্য একাধিক ইনপুট থাকে, তবে একবারে $ (এটি)। অ্যাপেন্ড (লুকানো_ইলেম_আর.ই.ইউইন ('')) এর মতো কিছু ব্যবহার করে সমস্তগুলি যুক্ত করুন;
— কেদার মহাশ্বেদে

1
আমি এই পদ্ধতিটি কেবল jQuery 1.6.2 দিয়ে চেষ্টা করেছি এবং ফায়ারফক্স .0.০.১ এর মাধ্যমে এই ত্রুটিটি পুনরুদ্ধার করেছি: "অপ্রকাশিত ব্যতিক্রম: প্রকারের সম্পত্তিটি পরিবর্তন করা যায় না" মনে হচ্ছে আপনি এই শর্তে প্রকারের সম্পত্তি পরিবর্তন করতে অ্যাটর পদ্ধতিটি ব্যবহার করতে পারবেন না। আমি এখন নীচের পদ্ধতিটি চেষ্টা করছি ...
— মাইকপোট

এই একই পদ্ধতির কাজটি .propনতুন এপিআই প্রকাশের ক্ষেত্রে আরও নতুন ফাংশনটির সাথে কাজ করবে ?
— স্পেসবিসন

3
@ স্পেসবিসন .prop"নতুন .attr" না হওয়ায় অনেক লোক মনে করছেন। আপনার এখনও .attrঅ্যাট্রিবিউট সেট করতে ব্যবহার করা উচিত ।
— ডেভিড হেলসিং

138
$('#myformelement').append('<input type="hidden" name="myfieldname" value="myvalue" />');

1
পুরানো আইইতে কেউ এই উত্তরটি পরীক্ষা করেছে?
— আর্থার হালমা

11
ব্যক্তিগতভাবে, আমি বিশ্বাস করি এটি গৃহীত উত্তরের চেয়ে অনেক ভাল পদ্ধতির কারণ এতে কম ডিওএম ম্যানিপুলেশন / ফাংশন কল জড়িত।
— পলস্কিনার 5'13

3
@ পলস্কিনার প্রদত্ত মামলার জন্য, হ্যাঁ আপনি সঠিক, তবে এটি সবসময় হয় না। এখানে একবার দেখুন stackoverflow.com/a/2690367/1067465
— ফার্নান্দো সিলভা

34

ডেভিডের মতো, তবে অ্যাটর ছাড়াই ()

$('<input>', {
    type: 'hidden',
    id: 'foo',
    name: 'foo',
    value: 'bar'
}).appendTo('form');

3
এই ট্যাগটি জনপ্রিয় করার কোনও নাম আছে?
— DLF85

কীভাবে কেবল 1 বার ইনপুট যুক্ত করবেন? যদি এর অস্তিত্ব থাকে তবে এটি একই বৈশিষ্ট্য সহ নতুন মান প্রবেশ
— স্নো বেসস

খুব সুবিন্যস্ত, আমি এটি পছন্দ করি।
— জ্যাকস 21 ই

27

আপনি যদি আরও গুণাবলী যুক্ত করতে চান তবে ঠিক করুন:

$('<input>').attr('type','hidden').attr('name','foo[]').attr('value','bar').appendTo('form');

অথবা

$('<input>').attr({
    type: 'hidden',
    id: 'foo',
    name: 'foo[]',
    value: 'bar'
}).appendTo('form');

এটি কনসোল ত্রুটি দিচ্ছে Unexpected identifier।
— প্রফুল্ল কুমার সাহু

দ্বিতীয় কোডটি, মনে হচ্ছে "আইডি" গতিশীলরূপে foo1, foo2 ইত্যাদির মতো উত্পন্ন করা দরকার
— ওয়েব_ডোপোপ্বর

5
function addHidden(theForm, key, value) {
    // Create a hidden input element, and append it to the form:
    var input = document.createElement('input');
    input.type = 'hidden';
    input.name = key;'name-as-seen-at-the-server';
    input.value = value;
    theForm.appendChild(input);
}

// Form reference:
var theForm = document.forms['detParameterForm'];

// Add data:
addHidden(theForm, 'key-one', 'value');

2
কি 'name-as-seen-at-the-server'?
— সাএটমিক

1

জেএসএফআইডিডিএল ওয়ার্কিং

আপনার ফর্ম মত যদি

<form action="" method="get" id="hidden-element-test">
      First name: <input type="text" name="fname"><br>
      Last name: <input type="text" name="lname"><br>
      <input type="submit" value="Submit">
</form> 
    <br><br>   
    <button id="add-input">Add hidden input</button>
    <button id="add-textarea">Add hidden textarea</button>

আপনি এই জাতীয় রূপে লুকানো ইনপুট এবং টেক্সারিয়া যুক্ত করতে পারেন

$(document).ready(function(){

    $("#add-input").on('click', function(){
        $('#hidden-element-test').prepend('<input type="hidden" name="ipaddress" value="192.168.1.201" />');
        alert('Hideen Input Added.');
    });

    $("#add-textarea").on('click', function(){
        $('#hidden-element-test').prepend('<textarea name="instructions" style="display:none;">this is a test textarea</textarea>');
        alert('Hideen Textarea Added.');
    });

});

এখানে কাজ করা jsfiddle দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.