【发布时间】: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 评论)更改您的按钮,使其不提交:
<button type="button">... -
@subhan 我使用的是
change- 我只是在上传问题时犯了一个错误(因为我在玩)。很抱歉。 -
你最初是如何加载你的 jquery 代码的?
标签: javascript jquery http-post