最近折腾我一个问题。就是把form拿来嵌套了。通过在程序里,通过document.getElementById('*')和$('#**')也没法获取对应的标签。最后通过标签名获取了对应的标签才发现,只能获取最外层的form标签,且在内嵌的form结束处结束了。
百度才知道,在html中,表单form是不能够嵌套使用的,这样是不合法的。例如:
<form name="form1">
<form name="form2">
........
</form>
</form>
那么如果我们遇到需要用到两个表单的情况应该怎么办呢?解决的方法很简单,合并两个表单,动态改变表单提交位置。
表单form中的action为空,然后在js代码中改变action的值。
<form name="form1" action="" method="post">
.....
<button id="button1" type="submit"></button>
<button id="button2" type="submit"></button>
</form>
<script>
$(document).ready(function(){
$("#button1").click(function(){
$("#draw").attr("action","url1");
$("form").submit();
});
$("#button2").click(function(){
$("#draw").attr("action","url2");
$("form").submit();
});
})
这样,就能实现一个表单向不同方法提交了,同时,在表单提交之前还可以改变表单元素的值,方法就是 。