2016-11-29 17 views
1

我有一個js腳本,我擴展到滿足我的需求,因爲我還是很新的JavaScript,並嘗試了一些東西,但不能似乎讓他們的工作。這裏是JavaScript腳本的一部分,如果需要更多,我可以把更多的它。我想要做的是讓它的工作方式完全相同,而不是按下我想要的輸入密鑰用戶用鼠標點擊提交(或者看起來像提交的按鈕也可以)。如何改變我的js功能從點擊輸入到當我點擊提交按鈕

(function() { 

'use strict'; 

var ENTER_KEY = 13 
var auditor = document.getElementById('auditor'); 
var date = document.getElementById('date'); 
var location = document.getElementById('location'); 
var workers = document.getElementById('workers'); 
var contact = document.getElementById('contact'); 

凡ENTER_KEY被使用(第二次)

function newTodoKeyPressHandler(event) { 
if (event.keyCode === ENTER_KEY) { 
    addTodo(auditor.value,date.value,location.value,workers.value,contact.value,company.value,exposureLocation.value,workersExposed.value,exposures.value,interventions.value,interventionComments.value,additionalComments.value,programManagement.value); 
    auditor.value = ''; 
    date.value= ''; 
    location.value = ''; 
    workers.value = ''; 
    contact.value = ''; 
    company.value = ''; 
    exposureLocation.value = ''; 
    workersExposed.value = ''; 
    exposures.value = ''; 
    interventions.value = ''; 
    interventionComments.value = ''; 
    additionalComments.value = ''; 
    programManagement.value = ''; 

} 
} 

如果有人可以幫助做到這一點我將不勝感激。我已經知道不得不將event.keyCode改成別的東西,但我嘗試過的東西都無濟於事。謝謝

+0

嘗試引用此問題http://stackoverflow.com/questions/895171/prevent-users-from-submitting-form-b​​y-hitting-enter – mshah

回答

4

所以,如果我理解正確,你的newTodoKeyPressHandler正在按鍵盤按鈕被調用。 基本上,你需要定義鼠標點擊事件處理程序,然後添加一個監聽相同如下:

document.getElementById('button').addEventListener(
    'click', 
    mouseClickHandler, 
    false 
); 

// mouseClickHandler功能

function mouseClickHandler(event){ 
    ... (handler code, same as in the keypress handler) 

} 
+0

非常感謝,我覺得我幾乎可以得到它,但是什麼假嗎? –

+0

請在此處查看addEventListener的詳細文檔:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener。基本上,第三個參數是一個選項數組,您可以查看所有可能的選項的文檔。 –

1

有幾個這樣做,你的方法可以先試試這個

<button onclick=" newTodoKeyPressHandler()">Click me</button> 

你一個onclick屬性創建按鈕和設置的功能要做到這一點,但你可能需要添加返回false防止默認情況下,從發佈和重新加載頁面的形式。