【问题标题】:What are the pros and cons using javascript in our form?在我们的表单中使用 javascript 的优缺点是什么?
【发布时间】:2011-02-04 03:30:17
【问题描述】:

我在提交表单中收到此代码

然后在head中使用一些js函数;

函数 frmSubmitSameWindows() { form.target = ''; form.submit(); } 函数 frmSubmitNewWindows() { form.target = '_blank'; form.submit(); }

在表单中使用frmSubmitSameWin()和frmSubmitNewWin()等javascript事件函数有什么优缺点?就我而言,这是我们需要一种提交东西的方式时的最佳解决方案。还有其他偏好吗?比我现在的方法更好吗?

【问题讨论】:

  • 这可能是一个愚蠢的问题,但是您的表单为什么使用 GET 而不是 POST 提交?
  • @R0MANARMY 有什么问题?它变成了一个 get 参数。
  • 通常的问题是它很容易重复提交相同的表单,或者即使结果应该改变,表单提交的结果也会被 Web 浏览器缓存之后。此外,它还会使用包含表单数据的长而丑陋的 URL 污染用户的浏览器。这并不完全是坏事——只是带来了很多丑陋的副作用。 POST 习惯于提交表单是有原因的......
  • post 确实推荐用于 edit 数据的表单,但也许 SO 想要获取数据?一个例子是搜索表单。
  • 我已删除 php 标签,因为您的问题与服务器端无关

标签: javascript html forms


【解决方案1】:

我们的 形式中使用 javascript 的优缺点是什么?

专业版:为改善用户体验提供无限可能(动态、速度更快、内容不闪现等)。
缺点:您应该将其编码为unobtrusively。你的例子不是。当客户端禁用 JS 时会失败。

多年来,我开发了许多网站,但我似乎不记得有两个提交按钮的正当商业理由,一个用于在同一窗口中提交表单,另一个用于将其提交到新窗口中。我建议重新考虑这种方法并最终使用一个提交按钮。 Mendy 已经提到了代码中的其他缺陷。

【讨论】:

  • 也许这是另一个 WTF 问题;D 但是当客户端禁用 JS 时,有没有办法让它不会失败?我必须编写什么代码才能让它变得更好?
  • 要么只使用一个按钮,要么使用两种形式。如果您还必须复制输入字段,最后一个对用户来说并不友好。
【解决方案2】:

form 元素上使用onsubmit 事件。并使用submit 输入instead 按钮。这样你就可以有一个函数来确定你想要做什么。

另外,不推荐使用 form target = 'blank',因为它已被弃用,并且在 HTML 4.01 Strict / XHTML 1.0 Strict DTD 中不受支持。

【讨论】:

    猜你喜欢
    • 2015-12-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2011-02-02
    • 2010-09-06
    • 2016-04-10
    • 1970-01-01
    • 2015-01-30
    相关资源
    最近更新 更多