我真的很困惑。我想制作一种热键来改变隐藏输入字段的值并提交表单。我怎样才能做到这一点?我已经阅读了大量的博客和教程,但所有人都认为我只想在按回车后提交填写的表格。虽然我只是不明白表单的“结构”如何在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' is not an object
。
我是javascript的新手,我习惯使用python,但它有一个完全不同的哲学,也许这就是我困惑的根源。我非常感谢一些解释,而不仅仅是代码片段。
谢谢!
答案 0 :(得分:0)
您可以随时使用浏览器的开发工具检查隐藏字段 - 只需按F12即可看到它。转到DOM列表(在开发工具中),然后您可以看到该字段的实际值
要通过JavaScript正常提交表单document.name.submit()
就足够了。另一个选择是你使用例如jQuery通过AJAX提交表单(在jQuery.serialize的帮助下)
答案 1 :(得分:0)
如果您想使用document.getElementById('myformid').submit()
,您必须为表单提供ID:
<form name='myform' id="myform" method='post' action='url.html'>
你隐藏的领域也是如此。
document.getElementById('foo').value='bar'
假设你有这样的隐藏:
<input type="hidden" name="foo" id="foo" />
答案 2 :(得分:0)
您可以尝试以下方法
<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>
答案 3 :(得分:0)
你可以使用ajax或jquery,因为在键上有一个命名的函数,这意味着在按下你选择的最后一个字段上的一个键后,当你把键留在键盘上时,它将提交表格。