【问题标题】:jQuery and IE8: Form action and submit problemjQuery 和 IE8:表单操作和提交问题
【发布时间】:2010-01-22 15:54:39
【问题描述】:

我有一些代码在 IE8 中没有做我想要的。当您点击“预览”提交按钮时,会出现一些 Javascript 代码并将表单的操作更改为franchisepreview.php。这会设置一个会话变量,因此当您返回表单时,您不会丢失任何东西。点击“更新”或“插入”会直接进入插入特许经营权的查询。

在 IE8 中,Javascript 没有加入。它提交表单而不更改操作。

我正在使用的 jQuery:

绑定:

jQuery("#preview").bind("click", changeForm);

函数changeForm

function changeForm(event)
{
    alert("Before: "+ jQuery("#franchiseform").attr("action"));
    jQuery("#franchiseform").attr("action", "franchisepreview.php");
    alert("After: "+ jQuery("#franchiseform").attr("action"));
    jQuery("#franchiseform").submit();
}  

【问题讨论】:

  • 我收到第一个警报,然后什么也没有。
  • 这意味着 javascript 正在做某事。我打赌提交发生在 attr 生效之前;尝试链接它们。
  • 不,也不是这样。如果预览input 是一个按钮,则会弹出第一个警报,然后什么也不会发生。如果我将其设为提交,则会弹出第一个警报,然后它会在不更改操作的情况下提交。

标签: php jquery forms internet-explorer-8


【解决方案1】:

也许尝试链接以确保在提交表单之前设置属性:

jQuery("#franchiseform").attr("action", "franchisepreview.php").submit();

看起来.attr() 不接受回调。

【讨论】:

  • 链接也是一种更有效的方式,因为 DOM 只遍历一次 P.S - .attr() 不是异步类型函数,因此不需要回调。
猜你喜欢
  • 2013-04-22
  • 2013-01-15
  • 1970-01-01
  • 2020-01-18
  • 1970-01-01
  • 1970-01-01
  • 2012-06-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多