使用按钮的Ajax调用单击表单不起作用

问题描述:

我尝试使用Ajax调用服务器,当我单击表单内的按钮时。但即使使用event.PreventDefault或返回false,它也不会使用Ajax。使用按钮的Ajax调用单击表单不起作用

可能是什么问题。这是我的HTML和jQuery代码

<form action="/Patient/Search" id="patient-search-form" method="post"> 
<input type="text" id="PatientName" /> 
<button class="btn blue-button" id="search-patients" type="submit"> 
<i class="icon-save icon-white"></i><span>Search</span> 
</button> 
</form> 


<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#search-patients').submit(function (event) { 
      event.preventDefault();    
      SearchPatients(); 
      return false; 
     }); 
    }); 
</script> 
+0

你确定在SearchPatients()函数中没有问题? – 2013-03-18 11:41:01

提交事件处理程序被分配到按钮,它应该是这样的形式:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#search-patients-form').submit(function (event) { 
       event.preventDefault();    
       SearchPatients(); 
       return false; 
      }); 
     }); 
</script> 

或者你可以绑定到按钮单击事件,而不是:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $('#search-patients').click(function (event) { 
       event.preventDefault();    
       SearchPatients(); 
       return false; 
      }); 
     }); 
</script> 
+0

它的作品完美。现在我正在使用点击 – Billa 2013-03-18 11:46:11

+0

这是一个很好的解决方案。如果你使用表单提交,你必须像这个解决方案一样使用form id'patient-search-form' – 2013-03-18 11:58:01

$(document).ready(function() { 
     $('#search-patients').click(function (event) { 
      event.preventDefault();    
      SearchPatients(); 
      return false; 
     }); 
    }); 

你给按钮的ID there.We需要给表单ID。

+0

@BadDeveloper是否为你工作 – PSR 2013-03-18 11:42:48

+0

我无法点击我的表单。只有我可以提交 – Billa 2013-03-18 11:44:17

+0

##是不是id选择器只有单#:) – Billa 2013-03-18 11:46:40