Javascript HTML嵌套表单问题

Javascript HTML嵌套表单问题,javascript,html,Javascript,Html,我正在使用CGI脚本制作一个网页,它有一个用户需要填写的表单。总平面布置图为: <form> textfield (username) textfield (password) textfield (email) submit button </form> 文本字段(用户名) 文本字段(密码) 文本字段(电子邮件) 提交按钮 我想做的是添加一个按钮,检查他们输入的用户名是否可用。我的问题是,我试图这样做的方式是: <form> <form>

我正在使用CGI脚本制作一个网页,它有一个用户需要填写的表单。总平面布置图为:

<form>
textfield (username)
textfield (password)
textfield (email)
submit button
</form>

文本字段(用户名)
文本字段(密码)
文本字段(电子邮件)
提交按钮
我想做的是添加一个按钮,检查他们输入的用户名是否可用。我的问题是,我试图这样做的方式是:

<form>
<form>
textfield (username)
submit button
</form>
textfield (password)
textfield (email)
submit button
</form>

文本字段(用户名)
提交按钮
文本字段(密码)
文本字段(电子邮件)
提交按钮
这不起作用,提交按钮将提交外部表单。以下是我曾考虑尝试但没有成功的事情:

  • 在第一张表格的末尾放一张表格。问题:我不知道如何对齐用户名文本字段按钮旁边的“验证”按钮,而不使其浮动,这会导致页面出现一系列其他问题

  • 在提交按钮上添加值,并根据单击的按钮使提交执行不同的操作。问题:根据按下的按钮,我要向其发出“POST”请求的网页不同。由于我将action=“mypage.cgi”放在代码部分,而不是按钮部分,我不知道如何根据我按下的按钮将其转到不同的站点


  • 具有多个具有不同名称的提交按钮。检查背面的每个表单。

    您可能需要执行两个不同的表单操作,这样您就不会提交两个完全不同的值。

    首先,最好为所有表单命名。
    因此,您可以轻松区分不同的形式

    接下来,将onClick偶数附加到每个按钮,这些按钮将使用不同的参数调用函数:1,2,3。每个按钮都会发送自己的参数。在函数中,您只需查看参数并提交相应的表单。

    <form name='form1'>
    ....
    <button type="button" onClick=doIt(1);>Submit</button>
    </form>
    
    <form name='form2'>
    ....
    <button type="button" onClick=doIt(2);>Submit</button>
    </form>
    
    <form name='form3'>
    ....
    <button type="button" onClick=doIt(3);>Submit</button>
    </form>
    
    <script>
    function doIt(formid)
    {
       if(formid==1)
       {
          document.form1.submit();
       }
       if(formid==2)
       {
          document.form2.submit();
       }
    
    ...
    }
    </script>
    
    
    ....
    提交
    ....
    提交
    ....
    提交
    函数doIt(formid)
    {
    如果(formid==1)
    {
    文件。表格1。提交();
    }
    如果(formid==2)
    {
    文件。表格2。提交();
    }
    ...
    }
    
    我用于嵌套表单的方法是使用标记而不是标记, 然后在单击提交按钮时附加表单标记

    我已经为此编写了一个小的JQ插件——“dynaForm”,它非常容易实现。 请参阅==>

    您还可以在以下位置观看相同内容的演示:


    我希望这能帮助您在HTML代码中实现嵌套表单。:)

    我发布了我对该解决方案的问题,因为#2您可以检测JavaScript中单击的按钮,然后根据该按钮更改操作属性。这是我摆脱困境的唯一方法。我如何做两种不同形式的动作?首先做一个:然后输入第一个文本字段。然后,你可以用不同的表单操作创建另一个完全相同的表单,你将有两个不同的帖子,具有不同的值。只是想让你知道(因为没有人提到过)嵌套表单在HTML中是被禁止的,它们的行为是未定义的,所以它们甚至不能保证在不同的浏览器中工作相同。