Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改输入值并通过按键提交表单(而不仅仅是输入发送)_Javascript_Html_Forms - Fatal编程技术网

Javascript 更改输入值并通过按键提交表单(而不仅仅是输入发送)

Javascript 更改输入值并通过按键提交表单(而不仅仅是输入发送),javascript,html,forms,Javascript,Html,Forms,我真的很困惑。我想制作一种热键,它可以更改隐藏输入字段的值并提交表单。我该怎么做?我读过很多博客和教程,但都认为我只想在按enter键后提交填写好的表单。我只是不明白表单的“结构”在javascript中是如何起作用的 我是否应该像这样填充隐藏的输入: document.getElementById('foo').value='bar' 我不认为有什么办法可以看出它的值是否改变了,所以我不确定 然后,如果我有以下情况,我如何提交表格: <form name='myform' method

我真的很困惑。我想制作一种热键,它可以更改隐藏输入字段的值并提交表单。我该怎么做?我读过很多博客和教程,但都认为我只想在按enter键后提交填写好的表单。我只是不明白表单的“结构”在javascript中是如何起作用的

我是否应该像这样填充隐藏的输入:

document.getElementById('foo').value='bar'
我不认为有什么办法可以看出它的值是否改变了,所以我不确定

然后,如果我有以下情况,我如何提交表格:

<form name='myform' method='post' action='url.html'>

我尝试了
document.myform.submit()
document.myform.form.submit()
,我还尝试了给表单一个id并使用
document.getElementById('myformid')。submit()
,但这些都不起作用!我通常会得到错误
TypeError:“undefined”不是对象

我是javascript新手,我习惯于使用python,但它有着完全不同的理念,这可能是我困惑的根源。我非常感谢您的解释,而不仅仅是代码片段


谢谢

您可以随时使用浏览器的开发工具检查隐藏字段-只需按F12键,您就会看到它。转到DOM列表(在开发工具中),然后可以看到该字段的实际值。

通过JavaScript提交表单通常
document.name.submit()
就足够了。另一种选择是,如果您想使用
document.getElementById('myformid')。submit()
您必须为表单指定一个ID,如下所示:

<form name='myform' id="myform" method='post' action='url.html'>
<input type="hidden" name="foo" id="foo" />

您可以尝试以下方法

<form name='myform' method='post' action='url.html'>
   // your fields here

   // then use a input type button to have a button and define an on click event
</form>


<script type = "text/javscript">
use the event in your script
//change your hidden field value here and 
// submit the form by 
myform.submit();
</script>

//你的田地在这里
//然后使用输入类型按钮创建一个按钮并定义一个点击事件
在脚本中使用事件
//在此处更改隐藏字段值,然后
//请于
myform.submit();

您可以使用ajax或jquery,因为有一个名为on key up的函数,这意味着在您选择的最后一个字段上按一个键后,当您将该键留在键盘上时,它将提交表单


选中此复选框好的

请说明您想通过按热键更改隐藏输入的值,还是只想提交表单。假设隐藏输入具有
id=“foo”
,则是,您显示的代码是设置其值的方法。给出表单
id=“myformid”
并使用
document.getElementById('myformid').submit()
应该可以,否则
document.forms.myform.submit()
应该可以使用现有的
name=“myform”
属性。酷,我不知道你可以在开发工具中检查它!现在可以用了,谢谢!