使用JavaScript和AJAX,我是否还需要HTML <form>标签,是否仍需要使用“提交”按钮向服务器提交表单?</form>

时间:2011-03-25 19:25:31

标签: javascript jquery html ajax forms

当我学习HTML时,CGI是王道,与服务器交互的正确方法是将<input>标签放在<form>标签内。当用户按下“提交”按钮时,HTTP GET或HTTP POST消息被发送到服务器,并且浏览器使用从服务器上的CGI程序返回的HTML代码刷新。

现在我又开始做网页了,我一直在学习JavaScript和jQuery。由于jQuery可以截取clickkeypressfocusout等事件,并且可以使用$.ajax()$.getJSON()读取数据,因此仍然需要完全是<form>标记?

如果我想支持关闭JavaScript的用户,可能还需要“真实表单”吗?

3 个答案:

答案 0 :(得分:5)

表格仍然可以帮到你,但简短的答案是否定的,不是真的。

如果您有一组与某个AJAX请求相关的输入,则可能更容易将它们保留在自己的形式中以进行验证/序列化。例如:

$.ajax({
    url: 'ajax/test.html',
    dataType: 'json',
    method: 'POST',
    content: $('form#login_form').serialize(), // <-- Serialize elements only in
    success: function(data) {                  //     the login_form container.
        $('.result').html(data);
    }
});

根据您的要求,您可能需要保留表单,以便让关闭Javascript的用户感觉良好。您仍然需要提交表单,因此设置表格并且到位是个好主意。

答案 1 :(得分:1)

如果您使用的是ajax,只要您没有任何直接帖子或获取,就不需要表单标签。但是,它仍然是很好的HTML设计。

答案 2 :(得分:1)

您既可以提交,也可以不提交。它可以取决于您想要监听哪些表单元素进行更改。但你可以做一些像这样的事情:

<SELECT NAME="tree" onchange="doSomething( someVar );">

但同样,这取决于你想要操纵的页面的哪个元素。