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

时间:2013-08-14 11:55:04

标签: javascript html html-form

我真的很困惑。我想制作一种热键来改变隐藏输入字段的值并提交表单。我怎样才能做到这一点?我已经阅读了大量的博客和教程,但所有人都认为我只想在按回车后提交填写的表格。虽然我只是不明白表单的“结构”如何在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,但它有一个完全不同的哲学,也许这就是我困惑的根源。我非常感谢一些解释,而不仅仅是代码片段。

谢谢!

4 个答案:

答案 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,因为在键上有一个命名的函数,这意味着在按下你选择的最后一个字段上的一个键后,当你把键留在键盘上时,它将提交表格。

检查这个没关系http://www.w3schools.com/php/php_ajax_livesearch.asp