Durch Drücken in einem Textfeld eine nicht ausgelöst Onclick-Ereignis von Submit-Button in Firefox
-
10-07-2019 - |
Frage
ich diese HTML-Seite, die sehr einfach ist, es enthält ein Textfeld und eine Schaltfläche einreichen, was ich will, ist, wenn etwas in das Textfeld eingeben und die Eingabetaste drücken die Funktion in das OnClick-Ereignis der Schaltfläche aufgerufen wird. Es funktioniert in IE und Google Chrome, aber nicht in FireFox arbeitet, ist dies ein normales Verhalten von FireFox oder es ist etwas fehlt hier?
<html>
<head>
<script language="javascript">
function callMe()
{
alert("You entered: " + document.getElementById("txt").value);
}
</script>
</head>
<body>
<input type="text" id="txt" />
<input type="submit" value="Submit" onclick="callMe()" />
</body>
</html>
Lösung
Aus dem Beschreibung des onclick
Ereignisses
Das
onclick
Ereignis tritt auf, wenn das Zeigegerät Taste auf ein Element geklickt wird. Dieses Attribut kann mit den meisten Elementen verwendet werden.
Es gibt keine Garantie gibt, dass die UA ein solches Ereignis erzeugen sollte, auch wenn nicht mit einem Zeigegerät und etwas klicken.
Sie wollen wahrscheinlich das onsubmit
Ereignis in einem Formular:
Das
onsubmit
Ereignis tritt ein, wenn ein Formular abgeschickt wird. Es gilt nur für dasFORM
Element.
Sie müssen ein Formular um Ihr Textfeld und Schaltfläche wickeln, aber:
<html>
<head>
<script language="javascript">
function callMe()
{
alert("You entered: " + document.getElementById("txt").value);
}
</script>
</head>
<body>
<form onsubmit="callMe()" action="#">
<input type="text" id="txt" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
Andere Tipps
Versuchen Sie, eine Form mit einem onsubmit Zugabe - das sollte funktionieren (getestet mit FF 3.5):
<html>
<head>
<script language="javascript">
function callMe()
{
alert("You entered: " + document.getElementById("txt").value);
}
</script>
</head>
<body>
<form onsubmit="callMe()">
<input type="text" id="txt" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
[Bearbeiten Zunächst mißverstanden ich die Situation und stellte eine andere Antwort.]
Funktioniert nicht in Chrome für mich entweder (4.0.223.11).
Das Problem ist der Unterschied bei der Behandlung von s ohne
Soweit ich weiß, kann man nicht nennen ‚OnClick‘ in einem ‚TextBox‘. Es hat außerhalb des TextBox sein.
Wenn Sie Ihren Text in das Textfeld, linke Maus geben woanders klicken Sie auf Ihrer Seite, drücken Sie die Eingabetaste, funktioniert das OnClick-Ereignis, seltsam genug.
Wenn Sie eine Arbeit um finden lassen Sie es uns wissen.