html表单 - 按Enter键时自动按钮焦点

Mar*_*sky 2 html php mysql forms focus

我正在构建一个表,我想从中更新数据库的不同字段.输出当前值,然后是提交按钮和用于输入新值的文本字段.

当我为某个字段输入新值时,我希望此文本字段的提交按钮自动聚焦,只需按ENTER键即可更新数据库.这是如何实现的?我认为必须使用简单的HTML.这是一段代码:

echo "
<form method='post'>
    <table>
        <tr>
            <th>Amount to receive</th>
            <td>" . mysql_result($result, 0, "amountToReceive") . "</td>" . "
            <td><input type='submit' value='Change' name='btnChangeAmountToReceive'> <input type='text' name='txtChangeAmountToReceive'></td>
        </tr><tr>
            <th>Amount received</th>
            <td>" . mysql_result($result, 0, "amountReceived") . "</td>" . "
            <td><input type='submit' value='Change' name='btnChangeAmountReceived'> <input type='text' name='txtChangeAmountReceived'></td>
        </tr>
    </table>
</form>";
Run Code Online (Sandbox Code Playgroud)

小智 6

实现这一点的方法是使用javascript,我建议你使用jQuery.

    $('#mytextfield').change(function(e) {
        $('input[type=submit]').focus();
    });
Run Code Online (Sandbox Code Playgroud)

或者你可以尝试jarry's

<input type="text" onkeypress="return focusOnEnter(event)" /> 
<script type="text/javascript">
function focusOnEnter(e)
{
var keynum = e.keyCode || e.which;  //for compatibility with IE < 9
if(keycode == 13) //13 is the enter char code
    document.getElementsByName('btnChangeAmountReceived')[0].focus();
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)

您还可以通过添加属性在HTML5上自动对焦元素 autofocus="autofocus"