【问题标题】:Form method "POST" not working in firefox表单方法“POST”在 Firefox 中不起作用
【发布时间】:2015-12-04 07:58:17
【问题描述】:

以下代码在 Chrome 版本 47.0.2526.73 中有效,但在 Firefox 和 IE 11 上无效。知道为什么

HTML:

<form action="@Url.Content("~/Account/LogOn/")" method="post" id="login_form">
     <input type="text" id="username" name="username" placeholder="Username" value=""/>
     <input type="password" id="password" name="password" placeholder="Password" value=""/>
     <button id="btnLogin" class="btn btn-inverse pull-right" type="submit" onclick="OpenPage()">Sign In</button>
</form>

JAVASCRIPT

function OpenPage() {
    $('body').empty().load('../../../Content/LoaderHtml/loader.html');
    return false;
}

代码必须从 MVC 调用 ActionResult 方法。

编辑:只有 onclick 事件会在 Firefox 和 IE 中触发(在 Chrome 中,表单也会触发 Controller 的方法),如果我删除 onclick 事件,那么在 Firefox 和 ie 和 chrome 中都可以正常工作

EDIT2:我需要触发 onclick 事件并将表单发布到服务器(Chrome 的行为还可以,但即使在 firefox 和 IE 中我如何才能使其工作)。

感谢您的帮助!

【问题讨论】:

    标签: javascript html asp.net


    【解决方案1】:

    表单包含 submit 按钮女巫被称为 javascript 女巫是阻止表单提交。

     <button onclick="OpenPage()">Sign In</button>
    

    关于你的问题

    以下代码适用于 Chrome 版本 47.0.2526.73 但适用于 Firefox 并且 IE 11 不起作用。

    onclick 被调用但不返回内联使用。从OpenPage函数返回false的那一刻起,正确的格式必须是onclick="return OpenPage()",然后在所有浏览器上你有相同的响应,表单将不会提交。

    为什么一个浏览器的行为与其他浏览器不同,可能是这个原因,也可能是其他一些 javascript 错误。

    如何提交。

    return true; 在您的 javascript 调用中,并设置 onclick="return OpenPage()"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多