Php 是否需要表单标签?

Php 是否需要表单标签?,php,html,Php,Html,在我的HTML代码中,我有一个表单标签,它包含两个输入框,用户名和密码。表单将值提交到一个PHP文件,该文件使用数据库验证值,如果登录成功,则重定向到另一个页面 这种方法的问题在于,如果不涉及AJAX,即使登录失败,它也会刷新页面 我想完全删除表单标记,将PHP代码合并到与HTML相同的文件中。为此,我尝试向输入框添加一个onclick()事件。但自从表单标签被移除后,一些尴尬的事情发生了。我使用:document.getElementByID 我想知道是否有必要在表单标记中包含输入标记?如果我

在我的HTML代码中,我有一个表单标签,它包含两个输入框,用户名和密码。表单将值提交到一个PHP文件,该文件使用数据库验证值,如果登录成功,则重定向到另一个页面

这种方法的问题在于,如果不涉及AJAX,即使登录失败,它也会刷新页面

我想完全删除表单标记,将PHP代码合并到与HTML相同的文件中。为此,我尝试向输入框添加一个
onclick()
事件。但自从表单标签被移除后,一些尴尬的事情发生了。我使用:
document.getElementByID


我想知道是否有必要在表单标记中包含输入标记?如果我只需要输入框,并希望使用
onclick
事件完成一些操作,它会工作吗?

如果您使用onclick()编写自己的处理程序,则无需提交表单。但是您应该维护语义HTML标记。

如果您使用onClick()编写自己的处理程序,则无需提交表单。但是你应该保持语义HTML标记。

如果你想把它们放到表单中,你仍然可以;只是不要在表单上放置提交按钮。如果您使用
元素,则该按钮不应触发表单提交。

如果您想将它们放入表单中,您仍然可以;只是不要在表单上放置提交按钮。如果使用
元素,则按钮不应触发表单提交。

我的首选方法是离开
标记,但捕获表单的
onsubmit
事件,然后返回false

<form name="foo" id="foo" action="" method="post">
  <input type="text" name="bar" id="bar" />
</form>

下面是一些粗略的PrototypeJS代码,演示了该方法

<script type="text/javascript">
  //Handle the window onload event
  Event.observe(window, 'load', function() {

    //Handle the form submit event
    Event.observe($('foo'), 'submit', function(event) {
      //Stop the event so the form doesn't actually submit
      Event.stop(event);
    });

  });
</script>

//处理窗口onload事件
事件。观察(窗口“加载”,函数(){
//处理表单提交事件
观察($('foo'),'submit',函数(事件){
//停止事件,使表单不会实际提交
事件。停止(事件);
});
});

我的首选方法是离开
标记,但捕获表单的
onsubmit
事件,然后返回false

<form name="foo" id="foo" action="" method="post">
  <input type="text" name="bar" id="bar" />
</form>

下面是一些粗略的PrototypeJS代码,演示了该方法

<script type="text/javascript">
  //Handle the window onload event
  Event.observe(window, 'load', function() {

    //Handle the form submit event
    Event.observe($('foo'), 'submit', function(event) {
      //Stop the event so the form doesn't actually submit
      Event.stop(event);
    });

  });
</script>

//处理窗口onload事件
事件。观察(窗口“加载”,函数(){
//处理表单提交事件
观察($('foo'),'submit',函数(事件){
//停止事件,使表单不会实际提交
事件。停止(事件);
});
});

但是,您不必这样做,您需要确保表单仍然可用。 表单标签提供了更好的选项卡式键导航,以及按enter键提交的功能。您可以在javascript中模拟这些,但要小心。 如果需要,可以尝试将表单标记的操作url设置为
,这将验证表单。如果禁用javascript,则不会发生任何事情。

但是,您需要确保表单仍然可用。 表单标签提供了更好的选项卡式键导航,以及按enter键提交的功能。您可以在javascript中模拟这些,但要小心。 如果需要,可以尝试将表单标记的操作url设置为
,这将验证表单。如果禁用javascript,则不会发生任何事情。

虽然通常建议禁用javascript,但不必这样做。事实上,它验证为html 4.01 strict而没有is。

尽管通常建议使用它,但它不是必需的。事实上,它在没有is的情况下验证为html 4.01 strict。

没有必要将输入标记包含在表单标记中,网站才能按您所希望的方式工作

但是,您应该以大多数用户都可以使用的方式创建站点。因此,对于那些没有启用JavaScript的用户,或者正在使用不具备JavaScript功能的浏览器查看您的站点的用户,您仍然应该开发您的站点,以便他们获得良好的体验

在没有启用JavaScript的情况下,在站点正常工作后,应按照以下原则添加AJAX行为。防止表单执行默认行为的最佳方法是Mark指出的——在表单的onsubmit事件处理程序上返回false


如果您试图创建通过验证的语义HTML,则还需要表单标记。

没有必要将输入标记包含在表单标记中,网站才能按您的要求工作

但是,您应该以大多数用户都可以使用的方式创建站点。因此,对于那些没有启用JavaScript的用户,或者正在使用不具备JavaScript功能的浏览器查看您的站点的用户,您仍然应该开发您的站点,以便他们获得良好的体验

在没有启用JavaScript的情况下,在站点正常工作后,应按照以下原则添加AJAX行为。防止表单执行默认行为的最佳方法是Mark指出的——在表单的onsubmit事件处理程序上返回false


如果您试图创建通过验证的语义HTML,则还需要表单标记。

我认为这是解决问题的最佳方案。您可以删除表单标记,更改“提交到”按钮上的输入类型,并使用onClick(),但为什么要这样做呢?这种方法在标记方面更有意义。这种方法的优点是,如果您也连接表单服务器端,即使禁用了JavaScript,它也可以工作。我认为这是解决问题的最佳方法。您可以删除表单标记,更改“提交到”按钮上的输入类型,并使用onClick(),但为什么要这样做呢?这种方法在标记方面更有意义。这种方法的优点是,如果同时连接表单服务器端,即使禁用了JavaScript,它也可以工作。不,HTML 4有一个非常受支持的
标记。不,HTML 4有