<form action="" method="post" style="width: 800px" name="form1">
...
<input name="delete" type="button" class="btn" id="btn" value="删除" onClick="dele();" />
<input name="save" type="button" class="btn" id="btn" value="保存" onClick="save();" />
<script type="text/javascript">
function dele(){
document.form1.action="servlet/DeleServert";
document.form1.submit();
};
function save(){
document.form1.action="servlet/SaveServert";
document.form1.submit();
};
</script>
</form>
这样为什么不能提交,难道 document.form1.action只能是jsp页面吗?这是什么原因!
赋值不对,应该是servlet/SaveServert.do或者其他web.xml配置的后缀
这个没有Struts呀,用的Servelt。
并且这个Servlet也在web里面配置了!
<input name="delete " type="button" class="btn " id="btn "
value="删除 " onClick="dele(); " />
<input name="save " type="button" class="btn " id="btn " value="保存 "
onClick="save(); " />
<script type="text/javascript" language="javascript">
function dele(){
document.form1.action= "delete";
document.form1.submit();
};
function save(){
document.form1.action= "servlet/SaveServert";
document.form1.submit();
};
</script>
HTML的 这个可以提交 没有问题 你看哈 你报的是什么错 路径是否正确
web.xml
<servlet>
<servlet-name>DeleDervert</servlet-name>
<servlet-class>com.test.DeleDervert</servlet-class>
</servlet>
<servlet>
<servlet-name>SaveServert</servlet-name>
<servlet-class>com.test.SaveServert</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DeleDervert</servlet-name>
<url-pattern>/delete</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SaveServert</servlet-name>
<url-pattern>/servlet/SaveServert</url-pattern>
</servlet-mapping>
他的名字就是form1,不是这的错误。 没这么用过。
那就可能是两种情况:
1、<script></script>包含在 form 里面,取不到 form1
2、<input name="save"...>中的 name 和 script 里的方法重名了
<script type="text/javascript">
function dele(){
document.form1.action = "servlet/DeleServert";
document.form1.submit();
}function save(){
document.form1.action = "servlet/SaveServert";
document.form1.submit();
}
</script><form action="" method="post" style="width:800px" name="form1">
<input type="button" class="btn" value="删除" onclick="dele()" />
<input type="button" class="btn" value="保存" onclick="save()" />
</form>
上面那个问你解决了么。 少了个字。 var mainForm = document.getElementById("form1");
mainForm.action = "servlet/SaveServert";
mainForm.submit();
有以下原因:
(1)save()的问题。save有可能是js的关键字吧,把他换了解决了一部分问题。
(2)input控件的name属性值不能和方法名相同。
<input name= "save" type= "button" class= "btn" id= "btn" value= "保存" onClick= "save();" /> ,这两个不能相同!我就改了这两个地方,现在可以了!
不知道我说的对不对,大家可以试验下!
web.xml配置,对servlet路径映射是
<servlet-name>SaveServert</servlet-name>
<url-pattern>/servlet/SaveServert</url-pattern>这个路径是相对于你的web应用根目录来着。
所以,要结合你的jsp相对根目录的路径是什么
如:你有2个jsp,都要请求你的servlet:
test
WEB-INF
a.jsp
jsp/b.jsp那么,a.jsp就可以直接写 action = servlet/SaveServert
b.jsp就不能了,要这样写:action = ../servlet/SaveServert依此类推