【问题标题】:jQuery functionality not working after POST requestPOST 请求后 jQuery 功能不起作用
【发布时间】:2019-04-24 11:00:00
【问题描述】:

我有这个简单的select 元素,它被包装在一个表单中:

<form id="createSomething" method="post" action="/same_page.php">
    <select id="selectService" class="form-control mt-2" name="service">
        <option selected value="a">Select...</option>
        <option value="b">Something</option>
    </select>
    <button type="submit">Submit</button>
</form>

当我最初通过 GET 请求加载页面时,此 jQuery 代码工作正常:

$(function(){
    $("#selectService").on("change", function() {
    window.alert( "TEST" );
    });
});

但是当我通过POST 请求提交表单时(加载了具有相同jQuery 的相同页面),

我的 jQuery 不再工作了。为什么会这样?我怎样才能让它发挥作用?

【问题讨论】:

  • 使用“更改”属性
  • 如果您有按钮类型提交,它将发布您的页面(这与刷新相同,因此您的 js 将永远不会运行)您需要使用$("#selectService").on("submit", function() { return false; }); 来阻止 POST 请求。
  • 或(@jcubic 评论)更改您的按钮,使其不提交:&lt;button type="button"&gt;...
  • @subhan 我使用的是change - 我只是在上传问题时犯了一个错误(因为我在玩)。很抱歉。
  • 你最初是如何加载你的 jquery 代码的?

标签: javascript jquery http-post


【解决方案1】:

试试这个:

$(document).on("change", "#selectService", function() {
    window.alert( "TEST" );
    });

也许这就是我理解您的要求的答案。

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 2018-12-06
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多