嵌套的HTML FORM无法访问 - 多个表单问题 [英] nested html FORM is inaccessible - multiple forms problem

查看:142
本文介绍了嵌套的HTML FORM无法访问 - 多个表单问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是场景,我在页面上有3个html表单,它们看起来像


form1()form2(form3() )

一个虚拟程序来测试3个表格
__

 < script language =javascripttype =text / javascript> 
函数submitthisform(no){
document.forms [no] .submit;
}
< / script>

< form action =http://cnn.comname =1>
< input type = submit value =cnnonclick =submitthisform('1')name ='submit1'>
< / form>

< form action =http://google.comname =2>

< form action =http://yahoo.comname =3>
< input type = submit value =yahooonclick =submitthisform('3')name =submit3>
< / form>

< input type = submit value =googleonclick =submitthisform('2')name =submit2>
< / form>






现在当我做submit3时,onclick函数获取在我试图提交form3的地方,因为否则它总是在onclick中提交表单2



,我发送表单名称。但form3似乎无法访问。原因是,如果我遍历页面上的所有表单,它不会返回表单3,而只会形成1& 2

  var forms = document.getElementsByTagName(form); 
for(var i = 0; i< forms.length; i ++){
alert('form'+ i +'='+ forms [i] .name); //显示form1& 2
}

它也会给点击submit2的javascript err。



试试这个小代码,你会明白。
告诉我是否可以提交表格3!根据 =nofollow noreferrer> XHTML规范


表格不得包含其他表格元素。


所以请不要这样做,因为您无法保证跨浏览器(当前或未来


Here is the scenario, I have 3 html forms on a page and they look like

form1() form2(form3())

a dummy program to test out the 3 forms __

<script language="javascript" type="text/javascript">
function submitthisform(no){
    document.forms[no].submit;
}
</script>

<form action="http://cnn.com" name="1">
 <input type=submit value="cnn" onclick="submitthisform('1')" name='submit1'>
</form>

<form  action="http://google.com" name="2">

    <form  action="http://yahoo.com" name="3">
    <input type=submit value="yahoo" onclick="submitthisform('3')" name="submit3">
    </form>

<input type=submit value="google"  onclick="submitthisform('2')" name="submit2">
</form>


now when i do submit3, the onclick function gets called, where I try to submit the form3 because otherwise it always submits the form 2

in onclick, I send the form name. But form3 seems to be inaccessible. Reason is, if i traverse all the forms on the page, it doesnt return form 3 but only form 1 & 2

var forms = document.getElementsByTagName("form");
for (var i=0; i<forms.length; i++){
        alert('form'+i+' = '+forms[i].name);// displays name of form1&2 
}

it also gives javascript err on click submit2.

try this small code and u will get the idea. tell me if i can submit form 3!!!!

解决方案

According to XHTML specs

form must not contain other form elements.

So please do not do this as you can not guarantee compatibility across browsers (current or future)

这篇关于嵌套的HTML FORM无法访问 - 多个表单问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆