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.