Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在提交单击时进行ajax调用时,是否需要表单?_Html_Ajax - Fatal编程技术网

Html 在提交单击时进行ajax调用时,是否需要表单?

Html 在提交单击时进行ajax调用时,是否需要表单?,html,ajax,Html,Ajax,我有一个页面,将显示一个带有3个字段的搜索表单和一个提交按钮。 当用户单击submit时,我将进行ajax调用,获取数据,然后填充页面的下半部分。 我想知道的是,如果使用ajax调用,您还会使用标记创建表单吗? 例如,下面是一些示例HTML: <H2> Search Options</H2> <DIV ID="searchform" class=""> <input type='text' id='id'></input>

我有一个页面,将显示一个带有3个字段的搜索表单和一个提交按钮。 当用户单击submit时,我将进行ajax调用,获取数据,然后填充页面的下半部分。 我想知道的是,如果使用ajax调用,您还会使用标记创建表单吗? 例如,下面是一些示例HTML:

<H2> Search Options</H2>
<DIV ID="searchform" class="">
        <input type='text' id='id'></input>
        <input type='text' id='firstname'></input>
        <input type='text' id='lastname'></input>
                    <input type='button' id='submit'></input>
</DIV>
搜索选项
如您所见,我没有设置post attrib的标记。 您能告诉我为什么在使用ajax时应该/不应该包含表单标记吗?
谢谢

*假设在客户端浏览器中启用了javascript

如果您正在处理Ajax按钮单击调用事件,则无需使用

因为javascript中的每个字段都是通过使用
document.getElementByID
或其他机制(JQuery选择器)获得的。此外,您还可以手动进行Ajax调用,以避免使用


使用
只会给html页面增加几个字节的开销,在这种情况下,如果您处理的是ajax按钮点击调用事件,使用
没有任何其他优势。

它根本没有问题


唯一的问题是当用户没有启用JavaScript时。那么您的表单将如何运行?

是的。这正是我正在做的。我确实看到了其他使用表单的人的例子,然后在表单提交点击事件中,他们运行javascript函数,然后为他们执行.post。对哪种方式更好有什么意见吗?我的建议是,如果所有内容都由.post手动处理,则不要使用,这样我们就可以简单地避免页面的额外开销,并让用户更快地加载页面。在大型应用程序中,处理少量字节也很重要。:)谢谢Ravi+你也是!说得好。我完全忘记了。在我的例子中,我可以控制用户的环境,因为这是一个企业环境。但是尽管如此,我还是没有想到。谢谢你的提醒。因此,如果我希望它是防弹的,我应该添加表单,通过jscript更改表单提交按钮的默认行为,然后从那里开始执行ajax,是吗?虽然如果他们关闭了jscript,那么整个事情都会轰动,因为是javscript循环搜索结果并在页面上显示它们……如果强制使用JavaScript,那么您不一定需要表单。但这是一个很好的实践进入!好问题!我只是在想同样的事情。我正在为我的网站提交一个Ajax Post请求,我只是想知道HTML标记是否围绕着表单中所需的参数。这正好回答了这个问题。