2016-11-29 1 views
1

Ich habe ein js Skript, das ich erweitern werde, um meine Bedürfnisse zu erfüllen, wie ich noch ziemlich neu in JavaScript bin und ein paar Dinge ausprobiert habe aber nicht kann scheinen, um sie zur Arbeit zu bringen. Hier ist ein Teil des JavaScript-Skripts, wenn mehr benötigt wird, kann ich mehr davon aufstellen. Was ich tun möchte, ist es funktioniert genau auf die gleiche Weise, aber statt der Enter-Taste, die ich haben will Der Benutzer klickt mit der Maus auf submit (oder eine Schaltfläche, die wie submit aussieht).Wie ändere ich meine js Funktion von einem Klick auf Enter, wenn ich auf Senden klicken

(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'); 

Wo ENTER_KEY (zum zweiten Mal) verwendet wird

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 = ''; 

} 
} 

Wenn jemand dies helfen könnte, zu erreichen, ich es sehr zu schätzen würde. Ich weiß schon, dass ich event.keyCode auf etwas anderes ändern muss, aber die Dinge, die ich versuchte, waren vergebens. Danke

+0

versuchen, dies zu verweisen http://stackoverflow.com/questions/895171/prevent-user-from-submitting-form-by-hitting-enterior – mshah

Antwort

4

Also, wenn ich richtig verstehe, wird Ihr newTodoKeyPressHandler aufgerufen, wenn Sie eine Taste auf der Tastatur drücken. Grundsätzlich müssen Sie einen Ereignishandler für Mausklick definieren und dann einen Listener für das gleiche wie folgt hinzufügen:

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

// Funktion mouseclick

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

} 
+0

Vielen Dank, ich denke, ich habe es ziemlich viel, obwohl was tut falsch tun? –

+0

Überprüfen Sie die detaillierte Dokumentation von addEventListener hier: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener. Im Grunde ist der dritte Parameter ein Options-Array, und Sie können die Dokumentation für alle möglichen Optionen auschecken. –

1

gibt ein paar Möglichkeiten, dies zu tun Sie kann versuchen, diese ersten

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

Sie auf die Schaltfläche mit einem Onclick-Attribute erstellen und die Funktion einstellen, das zu tun, aber sie können falsch hinzufügen müssen zurückkehren Standard ein verhindern ction im Formular vom Hochladen und Neuladen der Seite.

Verwandte Themen