রিটার্ন কী চাপলে কীভাবে ফর্ম জমা করবেন?


84

কেউ কি দয়া করে আমাকে বলতে পারেন যে কীভাবে রিটার্ন কী টিপানো হয় এবং যদি ফর্মটিতে কোনও বোতাম না থাকে তখন কীভাবে একটি HTML ফর্ম জমা করবেন? জমা বোতামটি নেই । আমি তার পরিবর্তে একটি কাস্টম ডিভি ব্যবহার করছি।

উত্তর:


61

আইএমও, এটি সবচেয়ে পরিষ্কার উত্তর:

<form action="" method="get">
  Name: <input type="text" name="name"/><br/>
  Pwd: <input type="password" name="password"/><br/>
  <div class="yourCustomDiv"/>
  <input type="submit" style="display:none"/>
</form>

আরও ভাল, যদি আপনি কাস্টম ডিভি ব্যবহার করে ফর্মটি জমা দেওয়ার জন্য জাভাস্ক্রিপ্ট ব্যবহার করছেন তবে এটি তৈরি করতে এবং প্রদর্শন সেট করতে জাভাস্ক্রিপ্ট ব্যবহার করা উচিত: বোতামে কোনও স্টাইল নেই। জাভাস্ক্রিপ্ট অক্ষম এই ব্যবহারকারীরা এখনও জমা বোতামটি দেখতে পাবেন এবং এটিতে ক্লিক করতে পারেন।


এটি উল্লিখিত হয়েছে যে প্রদর্শন: কোনওই আইই ইনপুটটিকে উপেক্ষা করবে না। আমি একটি নতুন জেএসফিডাল উদাহরণ তৈরি করেছি যা একটি স্ট্যান্ডার্ড ফর্ম হিসাবে শুরু হয় এবং জমাটি লুকিয়ে রাখতে এবং নতুন ডিভিটি তৈরি করতে প্রগতিশীল বর্ধন ব্যবহার করে। আমি স্ট্রিপলিং ওয়ারিয়র থেকে সিএসএস স্টাইলিং ব্যবহার করেছি ।


7
উপরে বর্ণিত পদ্ধতি আইই তে কাজ করে না। আইই লুকানো জমা বোতামটি উপেক্ষা করে।
চাক ফিলিপস

@ চকফিলিপস উত্তরটি একটি নতুন উদাহরণ দিয়ে আপডেট করা হয়েছে যা আইআই-তেও সঠিকভাবে কাজ করা উচিত।
ক্রিস মারাস্তি-জর্জি

4
আমি সাফারিতে এটি চেষ্টা করেছি (5.1.2), এবং এটি কার্যকর হয় না। আমি ঠিক একই পৃষ্ঠায় থাকি। আমি "প্রদর্শন: কিছুই নয়" স্টাইলটি সরিয়ে দেওয়ার চেষ্টা করেছি। এবং এটা কাজ করে! দেখে মনে হচ্ছে সাফারিটির দৃশ্যমান হওয়ার জন্য সাবমিট বাটনটি দরকার।

4
ক্রোম সংস্করণ 19.0.1084.56 এ কোনওভাবেই কাজ করে না - জমা দেওয়ার বোতামটি কাজের জন্য দৃশ্যমান হওয়া দরকার। ক্রোম, সাফারি এবং আইই তে কাজ করে এমন একটি নির্ভরযোগ্য ফিক্সের জন্য নীচে স্ট্রিপলিং ওয়ারিয়রের উত্তর দেখুন।
ব্যবহারকারী 2398029

87

এন্টার কী টিপে ফর্মটি জমা দেওয়ার জন্য এই লাইনগুলির সাথে একটি জাভাস্ক্রিপ্ট ফাংশন তৈরি করুন।

function checkSubmit(e) {
   if(e && e.keyCode == 13) {
      document.forms[0].submit();
   }
}

তারপরে আপনার যেকোন সুযোগের মতো ইভেন্টটি ডিভ ট্যাগে যুক্ত করুন:

<div onKeyPress="return checkSubmit(event)"/>

এটি যাইহোক যাইহোক (সম্ভবত পূর্ববর্তী সংস্করণগুলিও) ইন্টারনেট এক্সপ্লোরার 7 এর ডিফল্ট আচরণ।


4
দেখে মনে হচ্ছে ফায়ার ফক্স পপআপ ব্লকার এটি = = ধরেছে।
জন

4
আমি "কীআপ" পছন্দ করি যাতে প্রবেশ কীটি ধরে রাখার কাজটি মাল্টি-ট্রিগার না করে।
জাস্টিন স্কিলস

54

আমি বিভিন্ন জাভাস্ক্রিপ্ট / jQuery- ভিত্তিক কৌশল চেষ্টা করেছিলাম, তবে আমার সমস্যা ছিল। ব্রাউজারের অন্তর্নির্মিত স্বয়ংক্রিয়-সম্পূর্ণ তালিকা থেকে নির্বাচন করতে এন্টার কীটি ব্যবহার করা হলে দুর্ঘটনাজনিত জমা দেওয়ার ক্ষেত্রে সর্বশেষতম সমস্যাটি উদ্ভূত হয়। অবশেষে আমি এই কৌশলটিতে স্যুইচ করেছি, যা মনে হয় যে সমস্ত ব্রাউজারগুলিতে আমার সংস্থা সমর্থন করে:

<div class="hidden-submit"><input type="submit" tabindex="-1"/></div>
.hidden-submit {
    border: 0 none;
    height: 0;
    width: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

এটি ক্রিস মারাস্তি-জর্জের বর্তমানে গৃহীত উত্তরের মতো, তবে এড়িয়ে গিয়ে display: none, এটি সমস্ত ব্রাউজারগুলিতে সঠিকভাবে কাজ করছে বলে মনে হয়।

হালনাগাদ

আমি নেগেটিভ অন্তর্ভুক্ত করতে উপরের কোডটি সম্পাদনা করেছি tabindexযাতে এটি ট্যাব কীটি ক্যাপচার করে না। যদিও এই প্রযুক্তিগতভাবে এইচটিএমএল 4 এ বৈধতা দেওয়া হবে না, HTML5 স্পপে বেশিরভাগ ব্রাউজারগুলি ইতিমধ্যে যেভাবে এটি প্রয়োগ করে চলেছে সেভাবে কাজ করার জন্য এটি ভাষা অন্তর্ভুক্ত করে।


14

<button>ট্যাগটি ব্যবহার করুন । ডাব্লু 3 সি স্ট্যান্ডার্ড থেকে:

বাটন উপাদান দিয়ে তৈরি বোতামগুলি যেমন ইনপুট উপাদানটির সাথে তৈরি বোতামগুলির মতো হয়, তবে তারা আরও উন্নততর রেন্ডারিংয়ের সম্ভাবনা সরবরাহ করে: বাটন উপাদানটিতে সামগ্রী থাকতে পারে। উদাহরণস্বরূপ, একটি বাটন উপাদান যা একটি চিত্র ফাংশন ধারণ করে এবং এমন কোনও ইনপুট উপাদানটির অনুরূপ হতে পারে যার প্রকারটি "চিত্র" তে সেট করা আছে, তবে বাটনের উপাদান ধরণের সামগ্রীতে অনুমতি দেয় allows

মূলত অন্য একটি ট্যাগ রয়েছে, <button>যার কোনও জাভাস্ক্রিপ্ট দরকার নেই , এটিও একটি ফর্ম জমা দিতে পারে। এটি কোনও <div>ট্যাগের মতো ( <img />বোতাম ট্যাগের অভ্যন্তরে অন্তর্ভুক্ত) স্টাইল করা যায় । <input />ট্যাগ থেকে বোতামগুলি প্রায় হিসাবে নমনীয় নয়।

<button type="submit">
    <img src="my-icon.png" />
    Clicking will submit the form
</button>

তিনটি ধরণের সেট করা আছে <button>; তারা <input>বোতামের ধরণের মানচিত্র

<button type="submit">Will submit the form</button>
<button type="reset">Will reset the form</button>
<button type="button">Will do nothing; add javascript onclick hooks</button>

স্ট্যান্ডার্ড

আমি <button>সাথে ট্যাগ ব্যবহার এবং একটি বিট রঙিন এবং কার্যকরী ফর্ম বোতাম পেতে স্টাইলিং। নোট করুন যে এটির জন্য সিএসএস লেখা সম্ভব, উদাহরণস্বরূপ, <a class="button">লিঙ্কগুলি <button>উপাদানটির সাথে স্টাইলিংয়ের সাথে ভাগ করে ।


9

আমি বিশ্বাস করি এটিই আপনি চান।

//<![CDATA[

//Send form if they hit enter.
document.onkeypress = enter;
function enter(e) {
  if (e.which == 13) { sendform(); }
}

//Form to send
function sendform() {
  document.forms[0].submit();
}
//]]>

প্রতিবার কোনও কী চাপলে, ফাংশন এন্টার () কল করা হবে। কী টিপলে কী টিপুন কী (13) এর সাথে মিলে গেলে সেন্ডফর্ম () কল করা হবে এবং প্রথম সম্মুখীন ফর্মটি প্রেরণ করা হবে। এটি কেবল ফায়ারফক্স এবং অন্যান্য মান সম্মতিযুক্ত ব্রাউজারগুলির জন্য।

আপনি যদি এই কোডটি দরকারী মনে করেন, দয়া করে আমাকে ভোট দিতে ভুলবেন না!


4
যদি কোনও ব্যবহারকারী ফর্মটি জমা দেওয়ার আগে কোনও নতুন লাইন শিফট-প্রবেশ করতে চান?
গায়ে

7

আমি এখানে jQuery দিয়ে কীভাবে করব

j(".textBoxClass").keypress(function(e)
{
    // if the key pressed is the enter key
    if (e.which == 13)
    {
        // do work
    }
});

অন্যান্য জাভাস্ক্রিপ্ট খুব আলাদা হবে না। ক্যাচ "13" এর কী কী টিপস যুক্তি যাচাই করা হচ্ছে যা প্রবেশ কী enter


আমি আমার কোডটিতে @ [শান] (# 29951) এর উত্তর ব্যবহার করি, তবে আমি খুঁজে পেয়েছি যে আমাকেও e.which == 10ভালভাবে ধরতে হবে ।
ট্র্যাভিস

6

নিম্নলিখিত স্ক্রিপ্ট ব্যবহার করুন।

<SCRIPT TYPE="text/javascript">
<!--
    function submitenter(myfield,e)
    {
        var keycode;
        if (window.event) keycode = window.event.keyCode;
        else if (e) keycode = e.which;
        else return true;

        if (keycode == 13)
        {
            myfield.form.submit();
            return false;
        }
        else
            return true;
    }
//-->
</SCRIPT>

প্রতিটি ক্ষেত্রের জন্য যখন ফর্মটি জমা দেওয়া উচিত যখন ব্যবহারকারী প্রবেশের সময় হিট হয়, নীচে জমা দেওয়া ফাংশনটিতে কল করুন।

<FORM ACTION="../cgi-bin/formaction.pl">
    name:     <INPUT NAME=realname SIZE=15><BR>
    password: <INPUT NAME=password TYPE=PASSWORD SIZE=10
       onKeyPress="return submitenter(this,event)"><BR>
<INPUT TYPE=SUBMIT VALUE="Submit">
</FORM>

2

আমি এই পদ্ধতিটি ব্যবহার করি:

<form name='test' method=post action='sendme.php'>
    <input type=text name='test1'>
    <input type=button value='send' onClick='document.test.submit()'>
    <input type=image src='spacer.gif'>  <!-- <<<< this is the secret! -->
</form>

মূলত, আমি কেবল প্রকার চিত্রের একটি অদৃশ্য ইনপুট যুক্ত করি (যেখানে " স্পেসার.জিআইএফ " এটি 1x1 স্বচ্ছ জিআইএফ)।

এইভাবে, আমি এই ফর্মটি 'প্রেরণ' বোতামের সাহায্যে বা কেবল কীবোর্ডে এন্টার টিপে জমা দিতে পারি ।

এই কৌশলটি!


4
একটি সাবমিট বাটন দেখিয়ে কীভাবে ফর্মটি জমা দিতে হয় তা প্রশ্ন করছে।
মার্কো দেমাইও

0

আপনি কেন সাবমিট বাটনে ডিভ সাবমিশন শৈলীগুলি প্রয়োগ করেন না? আমি নিশ্চিত যে এর জন্য একটি জাভাস্ক্রিপ্ট রয়েছে তবে এটি আরও সহজ হবে।


আমার একই সমস্যা আছে, জেকিউয়ারি ইউআই বোতাম ব্যবহার করে। এই উইজেটগুলির সাহায্যে আপনার বোতামটিতে একটি দুর্দান্ত ছোট আইকন যুক্ত করার বিকল্প রয়েছে (অথবা আপনি যদি চান 2)। তবে আপনি যদি সাবমিট বাটন হিসাবে ইনপুট ট্যাগ ব্যবহার করেন তবে এই বিকল্পটি কার্যকর হবে না। সুতরাং আপনাকে একটি, বা স্প্যান বা ডিভি ব্যবহার করতে হবে।
পিয়ের হেনরি


0

আমি মনে করি আপনার কাছে একটি সাবমিট বাটন বা একটি জমা দেওয়ার চিত্র থাকা উচিত ... আপনার কাছে কোনও "সাবমিট ডিভিভি" ব্যবহারের কোনও নির্দিষ্ট কারণ আছে? আপনি যদি কেবল কাস্টম শৈলীগুলি চান তবে আমার প্রস্তাব করুন <input type="image"...http://webdesign.about.com/cs/forms/a/aaformsubmit_2.htm


0

উত্তরগুলি প্রসারিত করা, এটিই আমার পক্ষে কাজ করেছিল, সম্ভবত কেউ এটির কাজে লাগবে।

এইচটিএমএল

<form method="post" action="/url" id="editMeta">
   <textarea class="form-control" onkeypress="submitOnEnter(event)"></textarea>
</form>

জে

function submitOnEnter(e) {
  if (e.which == 13) {
    document.getElementById("editMeta").submit()
  }
}

-1

ক্রিস মারাস্তি-জর্জের উদাহরণের মতো, পরিবর্তে ইনলাইন জাভাস্ক্রিপ্ট ব্যবহার করা। মূলত যে ক্ষেত্রগুলির সাথে আপনি প্রবেশের কীটি কাজ করতে চান সেগুলিতে মূলত অন্ক্রিপ্স যুক্ত করুন। এই উদাহরণটি পাসওয়ার্ড ক্ষেত্রে কাজ করে।

<html>
<head><title>title</title></head>
<body>
  <form action="" method="get">
  Name: <input type="text" name="name"/><br/>
  Pwd: <input type="password" name="password" onkeypress="if(event.keyCode==13) {javascript:form.submit();}" /><br/>
  <input type="submit" onClick="javascript:form.submit();"/>
</form>
</body>
</html>

প্রশ্নটি যা চেয়েছিল এটি নয়। লক্ষ্যটি ছিল সাবমিট বাটন ছাড়াই জমা দেওয়া ...
জেসন

-1

যেহেতু display: noneবোতাম এবং ইনপুটগুলি সাফারি এবং আইআই তে কাজ করবে না, তাই আমি খুঁজে পেলাম যে কোনও অতিরিক্ত জাভাস্ক্রিপ্ট হ্যাকের প্রয়োজন না হওয়া সহজতম উপায়টি হ'ল <button />ফর্মটিতে একেবারে অবস্থানযুক্ত করা এবং এটি পর্দার বাইরে রাখা।

<form action="" method="get">
  <input type="text" name="name" />
  <input type="password" name="password" />
  <div class="yourCustomDiv"/>
  <button style="position:absolute;left:-10000px;right:9990px"/>
</form>

এটি সেপ্টেম্বর ২০১ of হিসাবে সমস্ত বড় ব্রাউজারের বর্তমান সংস্করণে কাজ করে।

স্পষ্টতই এর পছন্দমতো স্টাইল করার জন্য এটির পুনরুদ্ধার (এবং আরও শব্দার্থগতভাবে সঠিক) <button/>


আপনি কোনও জাভাস্ক্রিপ্ট হ্যাকের উপর জোর দেন না এবং এখনও একটি সিএসএস হ্যাক উপস্থাপন করেন।
পরিবর্তিত হয়েছে

-2

"অটোফোকাস" বৈশিষ্ট্যটি ডিফল্টরূপে বোতামটিতে ইনপুট ফোকাস দেওয়ার জন্য কাজ করে। প্রকৃতপক্ষে ফর্মের মধ্যে যে কোনও নিয়ন্ত্রণের উপর ক্লিক করাও ফর্মটিতে ফোকাস দেয়, ফর্মটির প্রত্যাবর্তনের প্রতিক্রিয়া জানানো দরকার। সুতরাং, ব্যবহারকারী যদি ফর্মের মধ্যে অন্য কোনও নিয়ন্ত্রণে ক্লিক না করে তবে আপনার জন্য "অটোফোকাস" তা করে।

সুতরাং, ব্যবহারকারী যদি রিটার্নকে আঘাতের আগে ফর্ম নিয়ন্ত্রণগুলির কোনওটিতে ক্লিক না করে তবে "অটোফোকাস" গুরুত্বপূর্ণ পার্থক্য তৈরি করে।

তবে তারপরেও, জেএস ছাড়া কাজ করার জন্য এখনও আরও দুটি শর্ত পূরণ করতে হবে:

ক) আপনাকে যেতে একটি পৃষ্ঠা নির্দিষ্ট করতে হবে (খালি রেখে দিলে এটি কাজ করবে না)। আমার উদাহরণে এটি হ্যালো.এফপি

খ) নিয়ন্ত্রণটি দৃশ্যমান হতে হবে। আপনি গোপনে এটি পৃষ্ঠা থেকে সরে যেতে পারেন, তবে আপনি প্রদর্শনটি ব্যবহার করতে পারবেন না: কিছুই নয় বা দৃশ্যমানতা: লুকানো। আমি যা করলাম তা হ'ল 200px দ্বারা পৃষ্ঠা থেকে বাম দিকে সরাতে ইনলাইন স্টাইলটি ব্যবহার করা। আমি উচ্চতা 0 পিএক্স তৈরি করেছিলাম যাতে এটি স্থান না নেয়। কারণ অন্যথায় এটি এখনও উপরে এবং নীচে অন্যান্য নিয়ন্ত্রণগুলিকে ব্যাহত করতে পারে। অথবা আপনি উপাদান ভাসা করতে পারে।

<form action="hello.php" method="get">
  Name: <input type="text" name="name"/><br/>
  Pwd: <input type="password" name="password"/><br/>
  <div class="yourCustomDiv"/>
  <input autofocus type="submit" style="position:relative; left:-200px; height:0px;" />
</form>

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