সহজ এবং মার্জিত সমাধান:
প্রথমত, টিপে Enterএকটি পাঠ্য এলাকা ভিতরে ফর্ম জমা না যদি না আপনি এটা যে কি করতে স্ক্রিপ্ট আছে। এটি ব্যবহারকারীর প্রত্যাশার আচরণ এবং আমি এটি পরিবর্তন করার বিরুদ্ধে সুপারিশ করব। যাইহোক, আপনার যদি এটি করতেই হয় তবে সবচেয়ে সহজ পন্থাটি হ'ল Enterফর্মটি জমা দেওয়া এবং এটি পরিবর্তন করে দেওয়া স্ক্রিপ্টটি সন্ধান করা। কোডটির মতো কিছু থাকবে
if (evt.keyCode == 13) {
form.submit();
}
... এবং আপনি কেবল এটিতে পরিবর্তন করতে পারেন
if (evt.keyCode == 13 && !evt.shiftKey) {
form.submit();
}
অন্যদিকে, যদি আপনার কোনও কারণে এই কোডটিতে অ্যাক্সেস না থাকে তবে ক্যারেটটি পাঠ্যের শেষে না থাকলেও সমস্ত বড় ব্রাউজারগুলিতে এটি কাজ করার জন্য আপনাকে নিম্নলিখিত কাজগুলি করতে হবে:
জেএসফিডাল: http://jsfiddle.net/zd3gA/1/
কোড:
function pasteIntoInput(el, text) {
el.focus();
if (typeof el.selectionStart == "number"
&& typeof el.selectionEnd == "number") {
var val = el.value;
var selStart = el.selectionStart;
el.value = val.slice(0, selStart) + text + val.slice(el.selectionEnd);
el.selectionEnd = el.selectionStart = selStart + text.length;
} else if (typeof document.selection != "undefined") {
var textRange = document.selection.createRange();
textRange.text = text;
textRange.collapse(false);
textRange.select();
}
}
function handleEnter(evt) {
if (evt.keyCode == 13 && evt.shiftKey) {
if (evt.type == "keypress") {
pasteIntoInput(this, "\n");
}
evt.preventDefault();
}
}
// Handle both keydown and keypress for Opera, which only allows default
// key action to be suppressed in keypress
$("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);