0

我真的很困惑。我想制作一种热键来更改隐藏输入字段的值并提交表单。我怎样才能做到这一点?我已经阅读了许多博客和教程,但都认为我只想在按 Enter 后提交填写好的表格。虽然我只是不明白表单的“结构”如何在 javascript 中起作用。

我应该像这样填写隐藏的输入:

document.getElementById('foo').value='bar'

我认为甚至没有办法查看它的值是否改变了,所以我不确定。

然后,如果我有,我该如何提交表格:

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

我试过document.myform.submit()and document.myform.form.submit(),我也试过给表格一个 id 并使用document.getElementById('myformid').submit(),但这些都不起作用!我通常会得到错误TypeError: 'undefined' is not an object

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

谢谢!

4

4 回答 4

0

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

检查一下好吗http://www.w3schools.com/php/php_ajax_livesearch.asp

于 2013-08-14T12:26:04.617 回答
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" />
于 2013-08-14T12:13:51.993 回答
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>
于 2013-08-14T12:15:31.140 回答
0

您可以随时使用浏览器的开发工具检查隐藏字段 - 只需按 F12 即可看到它。转到 DOM 列表(在开发工具中),然后您会看到该字段的实际值。
通常通过 JavaScript 提交表单document.name.submit()就足够了。另一种选择是您使用例如 jQuery 通过 AJAX 提交表单(在 jQuery.serialize 的帮助下)

于 2013-08-14T12:13:32.497 回答