我是javascript的新手,正在尝试开始一些简单的工作.是否可以创建一个包含可以由onclick事件填充的表单对象的函数?
现在,我有一个包含7个按钮的页面,每个按钮都是单独提交的表单,它们都链接到我的网站背面要处理的同一个php文件.我想以某种方式在JavaScript函数中创建一个单一表单,该表单将在单击时接受按钮中的变量,然后将该表单提交给我的php脚本.从技术上讲,它的功能与现在使用7种不同形式的功能相同,每个按钮一种,但是希望可以减少代码.
从逻辑上讲,这个示例仅是我逻辑上认为可以在几周内在Internet上搜索并从此处和那里收集数据的方式起作用,但实际上它远没有起作用.
例:
<script type="text/javascript">
function form_variables(opt1,opt2,opt3){
<form name='mySelectionForm' action='form.php?action=form_action' method='post' enctype='multipart/form-data'>
<input type='hidden' name='number' value='" + opt1 + "' />
<input type='hidden' name='id' value='" + opt2 + "' />
<input type='hidden' name='option' value='" + opt3 + "' id='options' />
</form>;
formObject.submit();
}
然后,将由类似这样的onclick事件填充.
<a href="javascript: void(0);" onclick="form_variables('9','1','6');" title="submit_button1" value="Button 1" class="cssButton">My Selection</a>
解决方法:
您处于正确的轨道上.您的JavaScript可以填充隐藏输入的值并更改表单的操作,而不是每次都动态生成表单.因此,在您的HTML中给出以下代码:
<form name="mySelectionForm" id="mySelectionForm" action="form.php?action=form_action" method="post" enctype="multipart/form-data">
<input type="hidden" name="number" value="" id="number" />
<input type="hidden" name="id" value="" id="id" />
<input type="hidden" name="option" value="" id="options" />
</form>
您的JavaScript可能如下所示:
function postForm(number, id, option, action) {
var form = document.getElementById('mySelectionForm');
form.setAttribute('action', 'form.php?action=' + action);
document.getElementById('number').value = number;
document.getElementById('id').value = id;
document.getElementById('option').value = option;
form.submit();
}