কৌনিক 2 জমা বোতাম ছাড়াই এন্টার টিপে ফর্ম জমা দিন


103

সাবমিট বাটন নেই এমন একটি ফর্ম জমা দেওয়া কি সম্ভব (এন্টার টিপে):

<form [ngFormModel]="xxx" (ngSubmit)="xxxx()">
  <input [(ngModel)]="lxxR"   ngControl="xxxxx"/>
</form

উত্তর:


79

হয়তো আপনি যোগ keypressবা keydownইনপুট ক্ষেত্রে প্রয়োজন এবং ফাংশন কি করতে হবে যে ঘটনা ধার্য জমা যখন প্রবেশ ক্লিক করা হয়

আপনার টেমপ্লেট এটি দেখতে হবে

<form (keydown)="keyDownFunction($event)">
  <input type="text" />
</form

এবং আপনি আপনার শ্রেণীর অভ্যন্তরে ফাংশনটি দেখতে এমন লাগবে

keyDownFunction(event) {
  if (event.keyCode === 13) {
    alert('you just pressed the enter key');
    // rest of your code
  }
}

213

আপনি যোগ করতে পারেন (keyup.enter)="xxxx()"


এটি দুর্দান্ত কাজ করে যদি আপনি কেবল
স্কট আর ফ্রস্ট

4
এই পদ্ধতির অ্যাংুলার ডক্সে উল্লেখ করা হয়েছিল। angular.io/docs/ts/latest/guide/…
trungk18

এটি আমার পরিস্থিতিতে কাজ করার একমাত্র উপায়, ধন্যবাদ!
সুইচ 87

4
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। কৌনিকটি কেবলমাত্র কৌতুক অর্জন করতে পারে। উজ্জ্বল।
স্কট বায়ার্স

কৌণিক ডকুমেন্টেশনে নতুন উল্লেখ: কৌণিক.ইউ
রাফায়েল নেটো

85

সম্পাদনা করুন:

  <form (submit)="submit()" >
    <input />
    <button type="submit" style="display:none">hidden submit</button>
  </form>

অর্ডার এই পদ্ধতি ব্যবহার করার জন্য, আপনি এমনকি যদি এটি প্রদর্শিত না "করার জন্য ধন্যবাদ একটি বাটন জমা দিন থাকতে হবে টুলকিট এর উত্তর "

পুরানো উত্তর:

হ্যাঁ, আপনি ঠিক এটা লিখেছে যেমন ছাড়া ঘটনা নাম (submit)পরিবর্তে (ngSubmit):

<form [ngFormModel]="xxx" (submit)="xxxx()">
  <input [(ngModel)]="lxxR"   ngControl="xxxxx"/>
</form>


4
আপনি একটি প্লাঙ্কার প্রদান করতে পারেন? কারণ এটি কাজ করে না
টুলকিট

"দৃশ্যমানতা: লুকানো" ব্যবহার করুন পরিবর্তে. "প্রদর্শন: কিছুই নয়;" ক্রোমে কাজ করেছেন, তবে সাফারিতে নয়।
মোল্ডে

এটি ব্যবহার করা উচিত, সাবমিট-বোতামটি লুকানো না থাকলেও দৃশ্যমান হওয়া উচিত কারণ কিছু লোকেরা সেই বোতামটি সন্ধান করবে এবং এন্টার টিপতে বিরক্ত করবে না।
ফক্সকে

31

আমি পছন্দ করি (keydown.enter)="mySubmit()"কারণ কার্সারটি কোথাও কোথাও থাকলেও <textarea>শেষের দিকে না থাকলে লাইন ব্রেক যুক্ত হবে না ।


4
এটি গ্রহণযোগ্য সমাধান হওয়া উচিত - অনেক ক্লিনার
rhysclay

30

এই উপায়টি খুব সহজ ...

<form [formGroup]="form" (keyup.enter)="yourMethod(form.value)">

</form>

4
আপনাকে ধন্যবাদ, যখন আমি প্রত্যাশা করি তখন এটি আরও সহজ। এর মতো সমাধান করা হয়েছে: <ইনপুট টাইপ = "পাঠ্য" শ্রেণি = "ফর্ম-নিয়ন্ত্রণ" [(এনজিএমডেল)] = "অবজেক্ট.ল্যাঙ্গোয়েজ টেটেডাটা" (অস্পষ্টতা) = "মাইমেডোথড ()" (কীআপ.নেটার) = "মাইমেডোথ ()" / >
লটোকý

4
ইভেন্টের সাথে কোনও ফাংশন প্রেরণের চেয়ে এইভাবে অনেক সহজ। ধন্যবাদ!
হেলেন

4
অনেক ভাল. কোনও লুকানো বোতাম বা জেএস নেই। খাঁটি কৌণিক উপায়
রেন্যানএসএস

এটি করতে হবে: কৌনিক 9 ব্যবহার করে <ফর্ম # f = "এনজিফর্ম" (কীআপ.এন্টার) = "অ্যাপেন্ডসিগব্লক (f.value)"> তবে দুর্দান্ত কাজ করে।
জর্দান

10

ল্যাগিং এড়াতে সর্বদা কীআপ.এন্টরের পরিবর্তে কীডাউন.এন্টার ব্যবহার করুন।

<textarea [(ngModel)]="textValue" (keydown.enter)="sendMessage();false" ></textarea>

এবং घटक.ts ভিতরে ফাংশন

 textValue : string = '';  
 sendMessage() {
    console.log(this.textValue);
    this.textValue = '';
  }

10

এটি আপনার ইনপুট ট্যাগের মধ্যে যুক্ত করুন

<input type="text" (keyup.enter)="yourMethod()" />

ধন্যবাদ ভাই। আমি নির্বাচিত উত্তরের চেয়ে এই বিকল্পটি পছন্দ করি।
সন্তোষ

8
(keyup.enter)="methodname()"

এটি কাজ করা উচিত এবং ইতিমধ্যে অনেক উত্তরে উল্লেখ করা উচিত, তবে এটি ফর্ম ট্যাগে উপস্থিত থাকতে হবে এবং বোতামে নয় on


7

একটি অদৃশ্য জমা বোতাম যুক্ত করণীয়

<input type="submit" style="display: none;">


"দৃশ্যমানতা: লুকানো" ব্যবহার করুন পরিবর্তে. উপরের ক্রোমে কাজ করেছে, তবে সাফারিতে নয়।
মোল্ডে


4

আশা করি এটি কাউকে সহায়তা করতে পারে: কোনও কারণে সময় অভাবের কারণে আমি ট্র্যাক করতে পারিনি, যদি আপনার মতো ফর্ম থাকে:

<form (ngSubmit)="doSubmit($event)">
  <button (click)="clearForm()">Clear</button>
  <button type="submit">Submit</button>
</form>

আপনি Enterবোতামটি যখন আঘাত করবেন তখন clearFormফাংশনটি ডাকা হবে, যদিও প্রত্যাশিত আচরণটি doSubmitফাংশনটি কল করার ছিল । Clearবোতামটি কোনও <a>ট্যাগে পরিবর্তন করা আমার জন্য সমস্যাটি সমাধান করে। আমি এখনও এটি আশা করি কিনা তা জানতে চাই। আমার কাছে বিভ্রান্তি লাগছে


8
এটি এড়ানোর জন্য, আপনি ক্লিয়ার বোতামের জন্য টাইপ = "বোতাম" নির্দিষ্ট করেছেন
রেডিও_হেড

3

আপনি যদি উভয় অন্তর্ভুক্ত করতে চানআমি এখানে যা দেখেছি তার চেয়েও সহজ নিজের বোতামটি ফর্মের মধ্যে অন্তর্ভুক্ত করে এটি করতে পারেন।

একটি ফাংশন সহ একটি বার্তা প্রেরণের উদাহরণ:

                <form>
                    <mat-form-field> <!-- In my case I'm using material design -->
                        <input matInput #message maxlength="256" placeholder="Message">
                    </mat-form-field>
                    <button (click)="addMessage(message.value)">Send message
                    </button>
                </form>

আপনি বোতামে ক্লিক করতে বা এন্টার কী টিপানোর মধ্যে চয়ন করতে পারেন।


@ ক্লেটন কেএন পাসোসাস উত্তরের সাথে কম্বোতে এটি ব্যবহার করতে হয়েছিল এবং দুর্দান্ত কাজ করেছে!
জর্দান

1

আপনি যদি উভয়ই অন্তর্ভুক্ত করতে চান - এন্টার এ গ্রহণ করুন এবং ক্লিক ক্লিক করুন তবে করুন -

 <div class="form-group">
    <input class="form-control"   type="text" 
    name="search" placeholder="Enter Search Text"
              [(ngModel)]="filterdata"  
           (keyup.enter)="searchByText(filterdata)">
  <button type="submit"  
          (click)="searchByText(filterdata)" >

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