ajax并没有形式,会发生什么?

时间:2010-02-18 01:18:39

标签: javascript jquery html

我注意到我的网站没有一个<form>,但登录除外。我不知道它是怎么发生的或为什么发生但是我发现我使用jquery和ajax发布所有内容然后刷新(或者不是我不需要)。用户如何以及为何会受此影响?

我的一些“表格”包括

  1. 在页面上留言
  2. 删除邮件
  3. 发送私信(然后我会做document.location = nextPage)
  4. 标记为最爱。

2 个答案:

答案 0 :(得分:4)

忘记在没有禁用javascript的情况下网站没有工作的时刻,您可能没有意识到的另一个副作用是,不再存在默认的submit行为。这意味着用户无法完成输入输入并按Enter键以提交表单。这对于搜索表单等非常重要,但对于评论表单则不那么重要。

form代码中包含表单字段并具有提交input元素(即使它是display:none)允许对enter或{{return进行默认提交操作1}}。如果您这样做,只需将preventDefault()调用到submit()事件处理程序中即可停止真实提交,并改为使用AJAX。

好的,返回到JS禁用的想法。你必须做出选择:

  1. 向后工作,在您的网站上实施不显眼的JS。基本上,该站点可以使用或不使用JS,但是在启用JS的情况下它可以更好地(或更精确)工作
  2. 发出一条醒目的消息,提醒您的用户您的网站需要JS才能使该网站正常运行。此方法的缺点是您可能会限制您的网站在某些公司网络和某些移动设备上的实用性。对于愿意转向JS的人,警报可以让他们决定是否要留下来。
  3. 鉴于该网站已经编码,请查看您的目标受众,并根据所需的时间和精力做出最佳决策,以便在没有JS的情况下使网站正常工作。

答案 1 :(得分:4)

从您的评论中,我发现您不打算在没有JavaScript的情况下支持用户,因此可访问性和向后兼容性参数没有实际意义。

但是,您可能通过使用AJAX发布然后刷新页面来创建大量不必要的请求。这是如何使用AJAX,可能是反模式。 AJAX的想法是发送特定和接收特定数据,并基于接收到的数据更新页面,而不是刷新。

另外,通过不使用表单,您可以禁用默认提交功能(按<enter>),而Doug Neiner指出

相关问题