1

私はこのHTMLフォームを持っています:

<head>
<title>log in</title>
</head>
<body>
<form action="login.php" method="POST">
user name : <input type="text" name="user"> <br>
user pass : <input type="password" name="pass"> <br>
<input type="submit" value="submit"> 
</form>
</body>

を押すのではなく、ボタンをクリックするだけでフォームを送信できるようにしたいと思いますEnter。これどうやってするの?

4

6 に答える 6

5

There are plenty of solutions for that. Here is one of the simplest:

<html>
<head>
    <title>log in</title>
</head>
<body>
    <form action="login.php" method="POST" onsubmit="return false;">
        user name : <input type="text" name="user"> <br>
        user pass : <input type="password" name="pass"> <br>
        <input type="button" value="submit" onclick="this.parentNode.submit();"> 
    </form>
</body>
</html>​​​​​​​​

DEMO: http://jsfiddle.net/EFDZ2/

于 2012-05-27T14:25:48.760 に答える
0

VisioN の回答に付け加えると、入力がフォームの直接の子ではない場合があるため、このような場合は単にフォームを参照するだけで機能しthis.formます。

<html>
<head>
    <title>log in</title>
</head> 
<body>
    <form action="login.php" method="POST" onsubmit="return false;">
        user name : <input type="text" name="user"> <br>
        user pass : <input type="password" name="pass"> <br>
        <div>
            <input type="button" value="submit" onclick="this.form.submit();">
        </div>
    </form>
</body>
</html>​​​​​​​​
于 2015-10-28T05:10:20.107 に答える
-1
$(document).ready(function() {

    function checkKey(e) {
        if (e.keyCode == 13) {

            if (!e) var e = window.event;

            e.cancelBubble = true;
            e.returnValue = false;

            if (e.stopPropagation) {
                e.stopPropagation();
                e.preventDefault();
            }
        }
    }

    $("input").keydown(checkKey);
})​

これはすべてのブラウザで機能するはずです。生活を簡素化するには JQuery が必要です。 デモ: http://jsfiddle.net/WDvvY/

于 2012-05-27T14:37:13.390 に答える
-1

実際、答えはそれよりも簡単だと思います。Enter キーで送信したくない場合は、フォームに「送信」タイプのボタンまたは入力を含めないでください。onsubmit="false を返す;" 私のために何もしませんでした。Firefox 27 および IE 11。

于 2014-03-23T14:52:17.803 に答える