पर क्लिक करते समय टेक्स्ट पर वापस बदलें, मैं फ्लाई पर बदल रहे फ़ील्ड के साथ एक फॉर्म बनाने की कोशिश कर रहा हूं।क्लिक किए जाने पर टेक्स्ट फ़ील्ड को इनपुट फ़ील्ड प्रकार टेक्स्ट में बदलें और
सरल पाठ के साथ प्रारंभ करें और जब कोई इस पाठ पर क्लिक करता है तो यह संपादन योग्य टेक्स्ट इनपुट फ़ील्ड में स्थानांतरित हो जाता है। जब कोई दूर क्लिक करता है तो यह वापस संपादन योग्य पाठ में बदल जाता है।
मैंने इसे एक दिया लेकिन यह ठीक से काम नहीं कर रहा है। पहले कुछ क्लिक पर ठीक काम करता है लेकिन फिर यह इनपुट खो रहा है और बटन को मिला रहा है।
यहाँ एचटीएमएल
<p id="firstElement" onclick="turnTextIntoInputField('firstElement');">First Element</p>
<p id="secondElement" onclick="turnTextIntoInputField('secondElement');">Second Element</p>
यहाँ है और जावास्क्रिप्ट (jQuery का उपयोग) है।
मैं जावास्क्रिप्ट में काफी नया हूँ तो यह अच्छी गुणवत्ता कोड नहीं हो सकता है ...
function turnTextIntoInputField(inputId)
{
console.log(inputId);
inputIdWithHash = "#"+inputId;
elementValue = $(inputIdWithHash).text();
$(inputIdWithHash).replaceWith('<input name="test" id="'+inputId+'" type="text" value="'+elementValue+'">');
$(document).click(function(event) {
if(!$(event.target).closest(inputIdWithHash).length) {
$(inputIdWithHash).replaceWith('<p id="'+inputId+'" onclick="turnTextIntoInputField(\''+inputId+'\')">'+elementValue+'</p>');
}
});
}
यहाँ बेला पर लाइव उदाहरण है https://jsfiddle.net/7jz510hg/
मैं के रूप में यह मेरे सिर में दर्द दे रही है किसी भी मदद की सराहना करेंगे ...
की संभावित डुप्लिकेट http (:
और यहाँ एक और दृष्टिकोण के लिए ले सकता है [कैसे मैं एक div तत्व संपादन योग्य बनाने के (एक पाठ क्षेत्र है जब मैं इसे क्लिक करें) की तरह?]: //stackoverflow.com/questions/2441565/how-do-i-make-a-div-element-editable-like-a-textarea-when-i-click-it) – Fundhor
क्या एक विकल्प केवल ' होना चाहिए 'तत्व, लेकिन डिफ़ॉल्ट रूप से अपने सभी इनपुट स्टाइल को हटा दें, इसलिए वे केवल टेक्स्ट की तरह दिखते हैं, और जब वे ध्यान केंद्रित करते हैं तो इसे वापस रख देते हैं? (सीएसएस ': नहीं (: फोकस) 'काम में आ सकता है) – Katana314