不使用扩展库发送post的JavaScript

不使用扩展库发送post的JavaScript,javascript,forms,post,submit,Javascript,Forms,Post,Submit,我有4个提交按钮的导航表单 <form action="index.php?do=move" method="post"> <center> <input name="north" type="submit" value="North" /><br /> <input name="west" type="submit" value="West" /><input name="east" type="submit" value="E

我有4个提交按钮的导航表单

<form action="index.php?do=move" method="post">
<center>
<input name="north" type="submit" value="North" /><br />
<input name="west" type="submit" value="West" /><input name="east" type="submit" value="East" /><br />
<input name="south" type="submit" value="South" />
</center>
</form>

并通过body onkeypress=“read_key(event)”将其连接到html。有人能帮我找出哪里错了吗?我想在没有像jQuery这样的扩展库的情况下重新使用它。对不起,我的英语不好。

您必须将表单附加到DOM中。这应该起作用:

function read_key(event){
    if(event.keyCode >=37 && event.keyCode <=40) {
    var form  = document.createElement('form');
        form.name = "arrows";
        form.method = "POST";
        form.action = "index.php?do=move";
        var sub = document.createElement('input');
        sub.type = "submit";
        if(event.keyCode==37){
            sub.name  = "west";}
        if(event.keyCode==38){
            sub.name  = "north";}
        if(event.keyCode==39){
            sub.name  = "east";}
        if(event.keyCode==40){
            sub.name  = "south";}   
        form.appendChild(sub);
        // you have to append the form to body
        document.body.appendChild(form);
        // you can do it like that:
        // document.arrows.submit();
        // but simpler is:
        form.submit();
        // remove it after submit
        document.body.removeChild(form);
    }
}
功能读取键(事件){

如果(event.keyCode>=37&&event.keyCode什么是document.arrows?@qqq它是表单元素:document.+formname或document.forms.+formname两者都在工作。谢谢。但又出了问题:)。我想我应该试试另一种方法。也许是jQuery。@ValeraAntonov看看TildalWave的评论,它是正确的,你的表单将在每个关键事件上生成并发布。你必须在生成之前检查关键代码。我已经更新了我的答案。谢谢你的回答!我会尝试一下,然后写总结。
function read_key(event){
    if(event.keyCode >=37 && event.keyCode <=40) {
    var form  = document.createElement('form');
        form.name = "arrows";
        form.method = "POST";
        form.action = "index.php?do=move";
        var sub = document.createElement('input');
        sub.type = "submit";
        if(event.keyCode==37){
            sub.name  = "west";}
        if(event.keyCode==38){
            sub.name  = "north";}
        if(event.keyCode==39){
            sub.name  = "east";}
        if(event.keyCode==40){
            sub.name  = "south";}   
        form.appendChild(sub);
        // you have to append the form to body
        document.body.appendChild(form);
        // you can do it like that:
        // document.arrows.submit();
        // but simpler is:
        form.submit();
        // remove it after submit
        document.body.removeChild(form);
    }
}