点击"提交" HTML表单中的按钮,执行什么代码?是否重新执行了页面上的所有HTML(和PHP)代码,或仅仅是代码中的代码?
修改
以下代码在表格中列出。
<buttoninput type="submit" value="Login"> Login </button>
编辑2
如果表格如下,则内部有以下按钮。会发生什么?是否会重新执行整个页面,或者只是重新执行该表单?
<form action="stackoverflow/posts/28333195" method="post">
<buttoninput type="submit" value="Login"> Login </button>
</form>
答案 0 :(得分:2)
如果没有JavaScript事件处理程序干扰正常操作,表单数据将按照enctype
属性中指定的编码(对于POST请求)进行编码,或者放在查询字符串中(对于GET请求) ),数据将提交到action
指定的网址。
这将加载新页面。
与URL关联的任何服务器端代码都将运行(使用任何分支语句(例如if
)指导程序流正常)。
the client side of form submission的完整详细信息在HTML规范中。
答案 1 :(得分:1)
在很高的层面上,会发生这种情况:
onclick
处理程序将执行JavaScript代码。onsubmit
处理程序将执行JavaScript代码。<form action="...">
。这忽略了可能发生的几个步骤:表单验证,服务器端重定向,其他JavaScript事件处理程序等。