html js 下面两个按钮submit1 submit2 的功能有什么区别

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="text/javascript">
function reqForm(){
var form1 =document.createElement("form");
form1.method="post";
form1.action="t2.html";
form1.v1.value="here is v1";
form1.submit();
}
</script>
</head>

<body>
<button onclick="reqForm()"> submit1</button>

<form action="t2.html" method="post" name="f2" id="f2">
<table>
<tr><td><input type="text" name="v1"/></td>
<td><input type="submit" value="submit2"/></td></tr>
</form>
</body>
</html>

另外,为什么我用上面那个reqForm()不能提交到表单的??求大神指点

按钮submit1是一个button元素, 被按下时执行reqForm函数;

按钮submit2是一个submit类型的按钮, 它被按下时会将此按钮所在的表单(form)元素中的所有表单元素的数据提交给action所指的页面. submit类型是要和form配合使用的, 要位于一个form表单内.

你的reqForm函数不能提交表单是因为你所创建的表单元素尚未添加到页面中, 可以这样添加:

document.body.appendChild(form1);

另外, 下面的语句:

form1.v1.value="here is v1";

大概也有问题, 应该先创建再使用:

var v = document.createElement("input");

v.type = "text";

v.name = "v1";

form1.appendChild(v);

form1.v1.value = "here is v1";

有不太明白的地方: 为什么要创建一个新的form再提交?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-19
submit1是点击按钮。submit2是提交按钮。。submit1需要触发事件,submit2则是提交一个表单
第2个回答  2013-08-19
function reqForm(){
var form1 =document.createElement("form");// 只是在内存中建立了一个表单,还未输出到html页面上。
form1.method="post";
form1.action="t2.html";

var v1=document.createElement("input");// 先创建v1
form1.appendChild(v1);// 追加到表单form1上。
v1.value="here is v1";// 无v1元素
document.body.appendChild(form1);// 追加到html页面上。
form1.submit();
}

追问

但是,我用类似的function来提交表单,在servlet中没有任何反应~~~

追答<script type="text/javascript" language="javascript">
// 不变
</script>

language改成type。language属性对应的是"javascript",不写也可以。

本回答被提问者采纳
第3个回答  2013-08-19
你把js中的内荣改一下就行:
<script language="javascript">
var form1=document.f2;
form1.v1.value="here is v1"
form1.submit();
</script>
第4个回答  2013-08-19
事实reqForm已经提交了,reqForm中的表单和f2是两个单独的表单,没有半包方便面的关系。