2009-06-04 24 views
8

Mở hình thức đơn giản với một hộp văn bản nhấn enter submit form (và điều này là rất tốt cho các hình thức tìm kiếm dễ dàng)Tôi cần phải dừng sự kiện nào để ngăn chặn IE khỏi "Dinging" khi tôi nhấn enter trong một hộp văn bản?

Tuy nhiên trên một hình thức với nhiều lĩnh vực, nhấn Enter trong một input = "text" hộp thắng' t làm bất cứ điều gì (ví dụ như gửi) nhưng trong IE nó "Dings" như thể bạn đã cố gắng để xóa một đối tượng undeletable.

Câu hỏi đặt ra là ... tôi cần phải chặn sự kiện nào trong IE để dừng âm thanh này? ví dụ. nếu tôi có một tên người dùng/mật khẩu hình thức, tôi muốn nhập phím để gửi mẫu, nhưng tôi chắc chắn không muốn âm thanh "lỗi".

Trang web mẫu có âm thanh: http://www.sears.com/shc/s/StoreLocatorView?storeId=10153&catalogId=12605 Chỉ cần nhấn Enter trong bất kỳ trường văn bản nào. Ding ding ding!

người dùng Non-IE, âm thanh là: Chương trình Sự kiện> Windows> Default Beep ("Windows XP Ding.wav")

Trả lời

10

Vâng có vẻ như làm việc này:

<!-- suppress sound (and suppress submit) --> 
<input type="text" onkeypress="if(window.event.keyCode == 13){return false;}"/> 

<!-- suppress sound (BUT allow submit) --> 
<input type="text" onkeypress="if(window.event.keyCode == 13){this.form.submit();return false;}"/> 
+0

Điều này có ngăn không cho gửi biểu mẫu không? – jimyi

+0

có nó sẽ (trên một mẫu đơn) nhưng khóa là trả về false. Tôi có thể làm điều đó sau khi tôi làm những việc khác, bao gồm gửi biểu mẫu. ;-) – scunliffe

+1

Chúa Giêsu, tại sao điều này thậm chí là một thứ trong IE STILL? Nhưng cảm ơn bạn! Nó đã làm việc. –

-1

Tôi đoán đó được điều khiển bởi hệ điều hành & do đó, nó không thể được kiểm soát bằng javascript .

0

Ông là đúng. Các lĩnh vực văn bản mà bạn muốn, không làm phiền bạn với ding bài hát

chỉ thêm

onkeypress="if(window.event.keyCode == 13){return false;}" 

để bạn gắn thẻ đầu vào

<input type="whatever" onkeypress="if(window.event.keyCode == 13){return false;}" > 

Nhưng đừng làm gì trong này nộp hoặc nút đầu vào ok. Chỉ với các trường văn bản, vì vậy bạn không bị khó chịu bởi ding! ding! hiện nay. Tôi đã kiểm tra.

2
$("#logonForm").keypress(function (e) { 
      if (e.keyCode == '13') { 
       if (instance.Validate(instance)) { 
        document.forms["logonForm"].submit(); 
        return false; //Do not delete, suppresses ding in IE... :P 
       } 
      } 
     }); 

Công trình này, chúng tôi sử dụng nó.

0
$("#txtSomething").keypress(function (e) { 
     if (e.which == 13) { 

      e.Handled = true; //This will prevent the "ding" sound 

      //Write the rest of your code 
     } 
    }); 
Các vấn đề liên quan