Php html表单-按enter键时自动按钮聚焦

Php html表单-按enter键时自动按钮聚焦,php,mysql,html,forms,focus,Php,Mysql,Html,Forms,Focus,我正在构建一个表,希望从中更新数据库的不同字段。输出当前值,然后是提交按钮和用于输入新值的文本字段 当我为某个字段输入新值时,我希望该文本字段的submit按钮能够自动聚焦,只需按ENTER键即可更新数据库。这是如何实现的?我想用简单的HTML一定是可行的。下面是一段代码: echo " <form method='post'> <table> <tr> <th>Amount to receive&l

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

当我为某个字段输入新值时,我希望该文本字段的submit按钮能够自动聚焦,只需按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>";
echo”
收到的金额
" . mysql_result($result,0,“amountToReceive”)。"" . "
收到的金额
" . mysql_result($result,0,“amunreceived”)。"" . "
";

您可以使用输入元素的“tabindex”属性来完成简单的html要求。

正如kinakuta所说,您必须使用一些javascript来完成您想要的任务

像这样的东西就行了

<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>

功能聚焦器(e)
{
var keynum=e.keyCode | | e.which;//与IE的兼容性<9
if(keycode==13)//13是输入字符代码
document.getElementsByName('BTNChangeAmounreceived')[0].focus();
返回true;
}
编辑

在阅读了Frank S.的回答后,我认为更好的解决方案是使用onchange事件:

<input type="text" onchange="focusOnEnter()" /> 
<script type="text/javascript">
function focusOnEnter()
{
    document.getElementsByName('btnChangeAmountReceived')[0].focus();
}
</script>

函数focusoneter()
{
document.getElementsByName('BTNChangeAmounreceived')[0].focus();
}

正如基纳库塔所说,我认为JavaScript(jQuery)会做得更好。这里有一个链接,可以解释您需要的一切

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

    $('#mytextfield').change(function(e) {
        $('input[type=submit]').focus();
    });
或者你可以试试jarry的

<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>

功能聚焦器(e)
{
var keynum=e.keyCode | | e.which;//与IE的兼容性<9
if(keycode==13)//13是输入字符代码
document.getElementsByName('BTNChangeAmounreceived')[0].focus();
返回true;
}
通过添加属性
autofocus=“autofocus”


函数焦点按钮()
{
如果(event.keyCode==13)
document.getElementById('BUTTON_ID')。单击();
}
试试这个

<script type="text/javascript">
function focusbutton() 
{
 if( event.keyCode == 13 )
 document.getElementById('BUTTON_ID').click();
}
</script>

函数焦点按钮()
{
如果(event.keyCode==13)
document.getElementById('BUTTON_ID')。单击();
}

13:Enter的ASCII码

我会使用javascript来实现这一点-你在寻找javascript答案吗?事实上,我认为一旦更改,它比onkeypress更好。但我不会使用jquery,因为他说的是纯html。
<script type="text/javascript">
function focusbutton() 
{
 if( event.keyCode == 13 )
 document.getElementById('BUTTON_ID').click();
}
</script>