রিলে অন রুবি: আমি কীভাবে একটি f.text_field এ স্থানধারক পাঠ্য যুক্ত করব?


144

আমি কীভাবে placeholderআমার f.text_fieldক্ষেত্রগুলিতে পাঠ্য যুক্ত করতে পারি যাতে পাঠ্যটি ডিফল্টরূপে প্রাক-লিখিত হয় এবং যখন কোনও ব্যবহারকারী ক্ষেত্রের অভ্যন্তরে ক্লিক করেন, তখন পাঠ্যটি চলে যায় - ব্যবহারকারীকে নতুন পাঠ্যটিতে টাইপ করতে দেয়?


এইচটিএমএল 5 এটি সমর্থন করে। এরই মধ্যে, জাভাস্ক্রিপ্ট সমাধান রয়েছে
ghoppe

3
আমি আমার পরিবর্তে nslocum এর উত্তর যুক্ত করার পরামর্শ দিই। 3 টি
কারাগারের

উত্তর:


269

রেল> = 3.0 সহ, আপনি কেবল placeholderবিকল্পটি ব্যবহার করতে পারেন ।

f.text_field :attr, placeholder: "placeholder text"

4
"স্থানধারক" বৈশিষ্ট্যটি কেবলমাত্র HTML5 সমর্থনকারী ব্রাউজারগুলির দ্বারা সমর্থিত, ইন্টারনেট এক্সপ্লোরারের মতো ব্রাউজারগুলি রেখে।
ট্র্যাভিস -146

1
JQuery ঠিক করার জন্য সঠিক URL হ্যাজেনবার্গার.নাটক
ব্লগ /

1
@ কেডিপি: রেল ২ এ এটি একই রকম বলে মনে হচ্ছে, যদিও আপনার পুরাতন বৈশিষ্ট্য সিনট্যাক্সের প্রয়োজন হতে পারে:f.text_field :attr, :placeholder => "placeholder text"
এমউফায়ার্নলি

স্থানধারক হিসাবে কোনও পৃথক এইচটিএমএল ফাইল হিসাবে - সম্ভবত কোনও দীর্ঘ পাঠ্য যুক্ত করা কি সম্ভব? আমি ব্যবহারকারীদের তাদের লিখিত সামগ্রী লেখার জন্য একটি টেম্পলেট সরবরাহ করার চেষ্টা করছি
সোফারসফি

32

4 কারাগারে (এইচএএমএল ব্যবহার করে):

=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name'

15

যারা রেল (4.2) আন্তর্জাতিকীকরণ (আই 18 এন) ব্যবহার করছেন তাদের জন্য:

স্থানধারকের বৈশিষ্ট্যটিকে সত্যে সেট করুন:

f.text_field :attr, placeholder: true

এবং আপনার স্থানীয় ফাইলে (যেমন, এন.আইএমএল):

en:
  helpers:
    placeholder:
      model_name:
        attr: "some placeholder text"

ধন্যবাদ যে কাজ করেছে। আমি সেট না placeholder: true। আপনার পছন্দ মতো এটি সেট করার পরে এটি কাজ করে।
হেন্ডরিক

2

যদি ব্যবহার করা হয় তবে এখানে অনেক ক্লিনার সিনট্যাক্স রয়েছে rails 4+

<%= f.text_field :attr, placeholder: "placeholder text" %>

সুতরাং rails 4+এখন হ্যাশ সিনট্যাক্সের পরিবর্তে এই সিনট্যাক্সটি ব্যবহার করতে পারেন


1
এটি কীভাবে গৃহীত @nslocum জবাব থেকে আলাদা?
mlt 0

@ এমএলটি এই উত্তর সরবরাহ করার পরে গৃহীত উত্তরগুলি একই রকম আপডেট হয়েছে।
অভিলাষ

2

আমি উপরের সমাধানগুলি চেষ্টা করেছি এবং এটি রেল 5. এর মতো দেখায় *

text_field_tag :attr, "", placeholder: "placeholder text"

1

আপনার দেখার টেমপ্লেটে একটি ডিফল্ট মান সেট করুন:

f.text_field :password, :value => "password"

আপনার জাভাস্ক্রিপ্টে (এখানে jquery অনুমান করে):

$(document).ready(function() {
  //add a handler to remove the text
});

1
হাফিংটন পোস্টের অনুসন্ধান ক্ষেত্রটি ইনপুট উপাদানটির ভিতরে এই বিএসটি ব্যবহার করে: onfocus="if(this.value=='Search The Huffington Post')this.value=''" value="Search The Huffington Post"একটি ভাল পদ্ধতির মতো বলে মনে হচ্ছে।
নাথান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.