如何在没有提交按钮的情况下向JavaScript提交表单?

如何在没有提交按钮的情况下向JavaScript提交表单?,javascript,html,Javascript,Html,如果不使用submit按钮(我根本不想要它),只需按Enter键提交表单,情况会怎样呢 编辑:我根本不想提交表格。我只想在输入字段中键入一些文本,然后按Enter键调用函数。没有JS我可以这样做吗 <form> <input type="text" name="sometext"> <input type="button" value="Send" onClick="sendsometext(this.form);"> </form>

如果不使用submit按钮(我根本不想要它),只需按Enter键提交表单,情况会怎样呢

编辑:我根本不想提交表格。我只想在输入字段中键入一些文本,然后按Enter键调用函数。没有JS我可以这样做吗

<form>
   <input type="text" name="sometext">
   <input type="button" value="Send" onClick="sendsometext(this.form);">
</form>
要在表单提交时(用户按Enter键时)运行该函数,请尝试以下操作:

function sendsometext(form){
  form.submit();
}
然后是html代码:

function sendsometext(form){
  //do something with the form;
  return false;
}


如果这不起作用,请指定您使用的浏览器以及发生的情况。同时发布一个演示页面,说明您是如何实现它的。如果不使用JavaScript,您无法将表单提交到JavaScript(这毫无意义)。

事实上,我认为您正在寻找
表单。onsubmit

<form onsubmit="return sendsometext(this)">
   <input type="text" name="sometext">
</form>

这是创建Javascript函数的方法,该函数作用于按下enter键以提交表单,而不是按下submit按钮

编辑:在下面看到document.forms[0]的代码上。提交()//提交表单。。。您可以更改此线以指向您的函数。这将停止提交过程,并在按enter键时调用函数


函数checkEnter(e){//e是从函数调用传递的事件对象
var字符码;
if(e&&e.which){//if支持事件对象的哪个属性(NN4)
e=e
characterCode=e.which//字符代码包含在NN4的which属性中
}
否则{
e=事件
characterCode=e.keyCode//字符代码包含在IE的keyCode属性中
}
如果(characterCode==13){//如果生成的字符代码等于ascii 13(如果输入键)
document.forms[0]。submit()//提交表单
返回错误
}
否则{
返回真值
}
}

我想知道OP是否缺少基本信息,即当您在表单中的任何文本字段中按
Enter
时,浏览器会自动提交表单。这就是为什么根据Marius和Wogan的回答,如果您想调用方法来响应
Enter
键,您可以使用onsubmit处理程序的原因。

我只需要一个输入文本的字段,然后通过按Enter键运行JavaScript函数来提交。我不需要按钮来提交表单。只需调用
onsubmit=“return sendsometext(this)”
并让
sendsometext()函数返回false即可。这将停止表单提交。或者,还有另一个答案,举例来说,只需点击回车键。如果在文本字段中点击回车键,表单将自动提交。如果您想在提交之前运行该函数,请尝试onsubmit。尽管您有抱怨,onsubmit正是您所需要的。如果您从onsubmit处理程序返回false,表单将不会按照通常的意义“提交”。您正在捕获“提交”事件并将其转移到javascript,而不是加载操作页面的默认浏览器行为。
function sendsometext(form){
  //do something with the form;
  return false;
}
<form onsubmit="return sendsometext(this)">
   <input type="text" name="sometext">
</form>
<form onSubmit="sendsometext(this.form);">
  <input type="text" name="sometext">
  <input type="submit" value="Send">
</form>
<input type="text" onKeyPress="checkEnter(event)"> 


function checkEnter(e){ //e is event object passed from function invocation
    var characterCode;

    if(e && e.which){ //if which property of event object is supported (NN4)
        e = e
        characterCode = e.which //character code is contained in NN4's which property
    }
    else{
        e = event
        characterCode = e.keyCode //character code is contained in IE's keyCode property
    }

    if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
        document.forms[0].submit() //submit the form
        return false
    }
    else{
        return true
    }
}