Javascript jQuery提交()、更改()和页面刷新

Javascript jQuery提交()、更改()和页面刷新,javascript,jquery,submit,onchange,Javascript,Jquery,Submit,Onchange,我正在尝试提交关于选择更改的表单。没有页面刷新 例1: <form> <select> <option>Option 1</option> <option>Option 2</option> </select> <button type="submit">Submit</button> </form> 演示: 问题:为什么表单仍

我正在尝试提交关于选择更改的表单。没有页面刷新

例1:

<form>
    <select>
      <option>Option 1</option>
      <option>Option 2</option>
    </select>
    <button type="submit">Submit</button>
</form>
演示:

问题:为什么
表单
仍在提交时刷新页面

例2:

<form id="form">
    <select>
      <option>Option 1</option>
      <option>Option 2</option>
    </select>
    <button type="submit">Submit</button>
</form>
演示:

问题:为什么这个例子不起作用?

在第一种情况下

this.form.submit(function (e) {
          alert('form submitted');
          e.preventDefault();
     });
this
是dom对象而不是jQuery对象,因此您可以在提交表单的表单上调用
submit()

在第二种情况下

$('#form').submit(function (e) {
             alert('form submitted');
            e.preventDefault();
     });
您正在为表单分配提交事件处理程序,而不是触发它

我正在尝试提交关于选择更改的表单。没有页面刷新

您应该看看用于部分刷新的AJAX方法

您可以绑定事件处理程序进行更改,而不是尝试提交表单来执行AJAX请求,而是在服务器中处理请求并将响应传递回客户端

第二段代码的问题

您正试图将提交事件处理程序挂接到表单,因此每次表单提交时,都会在此之前调用此事件

如果你想提交,应该

$("#formid").submit();
但在这种情况下,整个页面将被刷新


请阅读

中有关jQuery ajax事件的更多信息,因为按钮类型为submit。只要删除该类型,您就应该做好第二件事了,因为您根本没有加载jQuery。加载jQuery,它就会工作。要提交表单数据而不刷新页面,您需要使用AJAX@Franco不,我不知道你想做什么,但小提琴有你自己的代码。你说你只想在用户做出选择后提交,而这正是你的副手在我尝试时所做的。。
$('#form').submit(function (e) {
             alert('form submitted');
            e.preventDefault();
     });
$("#formid").submit();