不使用扩展库发送post的JavaScript
我有4个提交按钮的导航表单不使用扩展库发送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
<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);
}
}