如果没有指定行动,表格会在哪里提交?

时间:2011-04-04 03:29:51

标签: php forms

这是令我困惑的表格

<h1>
    Login
</h1>
<form action="" method="post">
    <table align="left" border="0" cellspacing="0" cellpadding="3">
        <tr>
            <td>
                Username:
            </td>
            <td>
                <input type="text" name="user" maxlength="30">
            </td>
        </tr>
        <tr>
            <td>
                Password:
            </td>
            <td>
                <input type="password" name="pass" maxlength="30">
            </td>
        </tr>
        <tr>
            <td colspan="2" align="left">
                <input type="checkbox" name="remember">
                <font size="2">
                    Remember me next time
            </td>
        </tr>
        <tr>
            <td colspan="2" align="right">
                <input type="submit" name="sublogin" value="Login">
            </td>
        </tr>
        <tr>
            <td colspan="2" align="left">
                <a href="register.php">Join</a>
            </td>
        </tr>
    </table>
</form>

我从这个tutorial得到了代码并且它工作正常但我似乎无法理解如果没有任何操作,表单也会提交

3 个答案:

答案 0 :(得分:41)

如果action设置为""或者action属性丢失,则表单会提交给自己。也就是说,如果您的脚本为index.php,则表单会提交到index.php

答案 1 :(得分:10)

如果表单的操作属性设置为未指定"" ,则仍会默认为action="self",因此表单将发送给包含表格的文件的地址。

所以,

<form method="post">

<!-- IS THE SAME AS... -->

<form action="" method="post">

<!-- IS THE SAME AS... -->

<form action="self" method="post">

(试试)

供参考,请参阅HTML标准4.10.18.3#8:

http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#form-submission-algorithm

答案 2 :(得分:6)

表单提交的默认操作是METHOD =“GET”和ACTION =“SELF”
您应该使用表单名称

如果操作为空,则会自行发布。